コード例 #1
0
def main():
    """Runs the bot"""
    db.connect()
    db.create_tables([User], safe=True)

    updater = Updater(TOKEN)

    # Commands
    updater.dispatcher.add_handler(CommandHandler("start", start))
    updater.dispatcher.add_handler(CommandHandler("help", help_command))
    updater.dispatcher.add_handler(CommandHandler("deposit", deposit))
    updater.dispatcher.add_handler(CommandHandler("balance", balance))
    updater.dispatcher.add_handler(CommandHandler("withdraw", withdraw))
    updater.dispatcher.add_handler(CommandHandler("tip", tip))
    updater.dispatcher.add_handler(CommandHandler("price", price))
    # admin commands
    updater.dispatcher.add_handler(CommandHandler("stats", stats))

    if DEBUG:
        updater.start_polling()
    else:
        NAME = os.environ.get("NAME", "bchtipbot")
        # Start the webhook
        updater.start_webhook(
            listen="0.0.0.0",
            port=int(os.environ.get("PORT", "8443")),
            url_path=TOKEN,
            webhook_url="https://{}.herokuapp.com/{}".format(NAME, TOKEN),
        )

    updater.idle()
コード例 #2
0
ファイル: app.py プロジェクト: Clashicism/bchtipbot
def main():
    """ Runs the bot """
    db.connect()
    db.create_tables([User], safe=True)

    updater = Updater(TOKEN)

    # Commands
    updater.dispatcher.add_handler(CommandHandler('start', start))
    updater.dispatcher.add_handler(CommandHandler('help', help_command))
    updater.dispatcher.add_handler(CommandHandler('deposit', deposit))
    updater.dispatcher.add_handler(CommandHandler('balance', balance))
    updater.dispatcher.add_handler(
        CommandHandler('withdraw', withdraw, pass_args=True))
    updater.dispatcher.add_handler(CommandHandler('tip', tip, pass_args=True))
    updater.dispatcher.add_handler(
        CommandHandler('price', price, pass_args=True))
    # admin commands
    updater.dispatcher.add_handler(CommandHandler('stats', stats))

    if DEBUG:
        updater.start_polling()
    else:
        # Port is given by Heroku
        PORT = os.environ.get('PORT')
        try:
            NAME = os.environ.get('NAME')
        except KeyError:
            NAME = 'bchtipbot'
        # Start the webhook
        updater.start_webhook(listen="0.0.0.0", port=int(PORT), url_path=TOKEN)
        updater.bot.setWebhook('https://{}.herokuapp.com/{}'.format(
            NAME, TOKEN))

    updater.idle()
コード例 #3
0
ファイル: app.py プロジェクト: alt-win/bchtipbot
def main():
    """ Runs the bot """
    db.connect()
    db.create_tables([User], safe=True)

    updater = Updater(TOKEN)

    # Commands
    updater.dispatcher.add_handler(CommandHandler("start", start))
    updater.dispatcher.add_handler(CommandHandler("help", help_command))
    updater.dispatcher.add_handler(CommandHandler("deposit", deposit))
    updater.dispatcher.add_handler(CommandHandler("balance", balance))
    updater.dispatcher.add_handler(CommandHandler("withdraw", withdraw, pass_args=True))
    updater.dispatcher.add_handler(CommandHandler("tip", tip, pass_args=True))
    updater.dispatcher.add_handler(CommandHandler("price", price, pass_args=True))
    # admin commands
    updater.dispatcher.add_handler(CommandHandler("stats", stats))

    if DEBUG:
        updater.start_polling()
    else:
        # Port is given by Heroku
        PORT = os.environ.get("PORT")
        try:
            NAME = os.environ.get("NAME")
        except KeyError:
            NAME = "bchtipbot"
        # Start the webhook
        updater.start_webhook(listen="0.0.0.0", port=int(PORT), url_path=TOKEN)
        updater.bot.setWebhook("https://{}.herokuapp.com/{}".format(NAME, TOKEN))

    updater.idle()
コード例 #4
0
from typing import List
from datetime import datetime
from peewee import DoesNotExist

from db.models import Skin, SkinOffer, db
from api.schemas import SkinHistory, MarketOffer, SellOffer

db.connect()
Skin.create_table()
SkinOffer.create_table()
db.close()


class SelectSkin:
    @staticmethod
    def create_all_skins(items: List[SkinHistory]):
        skins = [Skin(**i.dict()) for i in items]
        with db.atomic():
            Skin.bulk_create(skins, batch_size=500)

    @staticmethod
    def skin_existence(item: MarketOffer):
        skin = Skin.select().where(Skin.title == item.title)
        if skin:
            return True
        return False

    @staticmethod
    def find_by_name(items: List[SkinHistory]):
        skins_to_update = list()
        skin_to_create = list()
コード例 #5
0
 def __init__(self):
     db.connect()
     self.lock = None