#!/usr/bin/env python3 import logging import argparse from bot import Butler coloredlogsError = None try: import coloredlogs except ImportError as e: coloredlogsError = e def main(): parser = argparse.ArgumentParser(description='Vylion\'s butler bot.') parser.add_argument('token', metavar='TOKEN', help='The Bot Token to work with the Telegram Bot API') parser.add_argument('-c', '--chats', nargs='*', default=[], metavar='[CHATS]', help='A whitelist of allowed chats. Empty enables all.') args = parser.parse_args() logger = logging.getLogger(__name__) bot = Butler(logger, args.token, args.chats) # Enable logging log_format = "[{}][%(asctime)s]%(name)s::%(levelname)s: %(message)s".format(bot.get_username().upper()) if coloredlogsError: logging.basicConfig(format=log_format, level=logging.INFO) logger.warning("Unable to load coloredlogs:") logger.warning(coloredlogsError) else: coloredlogs.install(level=logging.INFO, fmt=log_format) logger.info("Bot started up!") bot.run() if __name__ == '__main__': main()