telegram-butler-bot/main.py
2024-09-13 04:10:03 +02:00

42 lines
1.1 KiB
Python

#!/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()