import os from src import IRCBot, ModuleManager, utils class Module(ModuleManager.BaseModule): @utils.hook("received.command.version") def version(self, event): commit_hash = None git_dir = os.path.join(self.bot.directory, ".git") head_filepath = os.path.join(git_dir, "HEAD") if os.path.isfile(head_filepath): ref = None with open(head_filepath, "r") as head_file: ref = head_file.readline().split(" ", 1)[1].strip() branch = ref.rsplit("/", 1)[1] ref_filepath = os.path.join(git_dir, ref) if os.path.isfile(ref_filepath): with open(ref_filepath, "r") as ref_file: commit_hash = ref_file.readline().strip() out = "Version: BitBot %s" % IRCBot.VERSION if not commit_hash == None: out = "%s (%s@%s)" % (out, branch, commit_hash[:8]) event["stdout"].write(out) @utils.hook("received.command.source") def source(self, event): event["stdout"].write("Source: %s" % IRCBot.SOURCE)