예제 #1
0
def referral(message):
    user = session.query(User).get(message.chat.id)
    referral_user = session.query(User).filter_by(username=message.text.lower().replace(' ', '')).first()
    if referral_user is not None:
        referral_user.referral_invited.append(user)
        referral_user.commit_to_db()
    user.state = State.menu
    markup = Markup.menu(lang=user.lang)
    bot.send_message(message.chat.id, dictionary.register_new_user['hello'][user.lang].format(message.chat.first_name), reply_markup=markup)
예제 #2
0
 def apply(self):
     if self.accepted:
         return
     user = session.query(User).get(self.order_id)
     user.balance += self.amount
     self.accepted = True
     session.add(self)
     session.add(user)
     session.commit()
예제 #3
0
def choose_language(message):
    user = session.query(User).get(message.chat.id)
    if message.text == Markup.choose_language(button=Lang.ru):
        user.lang = Lang.ru
    elif message.text == Markup.choose_language(button=Lang.en):
        user.lang = Lang.en
    else:
        return
    user.state = State.referral
    user.commit_to_db()
    bot.send_message(message.chat.id, dictionary.register_new_user['referral'][user.lang])
예제 #4
0
def webhook_for_donate():
    user_id = request.args.get('id', type=int)
    if user_id is None:
        abort(400)
    amount = request.args.get('amount', default=config.MAX_IN_SUM, type=float)
    user = session.query(User).get(user_id)
    if amount > float(config.MAX_IN_SUM) or amount < float(
            config.MIN_IN_SUM) or user is None:
        abort(400)
    return render_template('donate.html',
                           user=user,
                           amount=amount,
                           merchant=config.TRANSACTION_MERCHANT,
                           payment_url=config.TRANSACTION_PAYMENT_URL[str(
                               user.lang)])
예제 #5
0
def menu(message):
    user = session.query(User).get(message.chat.id)
    state = Markup.menu(lang=user.lang, text=message.text)
    bot.send_message(message.chat.id, str(state))
예제 #6
0
def reset_DEBUG(message):
    user = session.query(User).get(message.chat.id)
    session.delete(user)
    session.commit()
예제 #7
0
from CupGamesBot.bot import bot, dictionary
from CupGamesBot.bot.markups import Markup
from CupGamesBot.database import session
from CupGamesBot.database.user import User
from CupGamesBot.database.state import State
from CupGamesBot.database.lang import Lang


@bot.message_handler(commands=['reset'])
def reset_DEBUG(message):
    user = session.query(User).get(message.chat.id)
    session.delete(user)
    session.commit()


@bot.message_handler(func=lambda message: session.query(User).get(message.chat.id) is None)
def register_new_user(message):
    # Register user
    user = User(id=message.chat.id, username=message.chat.username.lower(), state=State.lang)
    user.commit_to_db()
    # Select lang
    markup = Markup.choose_language()
    bot.send_message(message.chat.id, dictionary.register_new_user['lang'], reply_markup=markup)


@bot.message_handler(func=lambda message: session.query(User).get(message.chat.id).state is State.lang)
def choose_language(message):
    user = session.query(User).get(message.chat.id)
    if message.text == Markup.choose_language(button=Lang.ru):
        user.lang = Lang.ru
    elif message.text == Markup.choose_language(button=Lang.en):