Beispiel #1
0
def main():
    logging.basicConfig(stream=sys.stdout, level=logging.INFO)
    logging.getLogger("sqlitedict").setLevel(logging.WARNING)

    expiry_seconds: int = settings.common.expiry_s
    database_file: int = settings.common.database_file
    sm = db.SessionManager(expiry_seconds, database_file)

    discordconf = settings.discord
    bot = commands.Bot(command_prefix=discordconf.prefix)
    bot.add_cog(
        VerifyCog(bot=bot,
                  sm=sm,
                  check_interval=discordconf.check_interval_s,
                  url=discordconf.url,
                  role_name=discordconf.role_name))
    bot.run(discordconf.token)
    smtp_host: str = settings.server.smtp_host
    smtp_port: int = settings.server.smtp_port
    smtp_user: str = settings.server.smtp_user
    smtp_pass: str = settings.server.smtp_pass
    smtp_from_addr: str = settings.server.smtp_from_addr
    allowed_domain: str = settings.server.allowed_domain

    mail: Union[mailer.SMTPMailer, mailer.PrintMailer]
    if not smtp_host:
        mail = mailer.PrintMailer()
    else:
        mail = mailer.SMTPMailer(
            host=smtp_host,
            port=smtp_port,
            username=smtp_user,
            password=smtp_pass,
            from_addr=smtp_from_addr,
        )

    expiry_seconds: int = settings.common.expiry_s
    database_file: int = settings.common.database_file
    sm = db.SessionManager(expiry_seconds, database_file)

    app = server.create_app(
        session_manager=sm,
        mail=mail,
        allowed_domain=allowed_domain,
    )
    http_server = WSGIServer(('', 5000), app)
    http_server.serve_forever()