#!python

from emojirades.bot import EmojiradesBot

import argparse
import logging
import slack
import sys


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-v", "--verbose", action="count", dest="v", default=0, help="Logging level")
    parser.add_argument("--log-file", default=sys.stderr, help="File we will log to")
    parser.add_argument("--score-file", help="CSV file we use to persist scores", required=True)
    parser.add_argument("--state-file", help="JSON file we use to persist game state", required=True)

    args = parser.parse_args()

    if args.v >= 2:
        log_level = logging.DEBUG
    elif args.v >= 1:
        log_level = logging.INFO
    else:
        log_level = logging.WARNING

    logging.basicConfig(level=log_level)
    logger = logging.getLogger("EmojiradesBot")

    bot = EmojiradesBot(args.score_file, args.state_file)
    logger.debug("Initialised application")

    # Register the event callback
    slack.RTMClient.on(event="message", callback=bot.handle_event)

    logger.info("Listening for commands")
    bot.listen_for_commands()
