예제 #1
0
def check_func(_, message: Message):
    # /bindgame acnh
    if Filters.command('bindgame')(message):
        message.command = message.text.split()
        if not len(message.command) > 1:
            return False
        if message.command[1] == 'acnh':
            return True
예제 #2
0
def acnh(client: Client, message: Message):
    message.command = message.text.split()

    try:
        message.delete()
    except (BadRequest, Forbidden):
        pass

    if len(message.command) == 2:
        text = '那我們就快點開始吧狸!'
        message.reply_text(text, reply_markup=keyboard.bindacnh())
        return

    parser = argparse.ArgumentParser()
    parser.add_argument('-n', type=str)
    parser.add_argument('-f', type=str)
    args = parser.parse_args(message.command[2:])

    # 二次檢查水果,我教官我機掰 耶
    if args.f not in ['梨子', '櫻桃', '蘋果', '桃子', '橘子']:
        text = '水果種類有誤,請檢查下狸!\n' \
            '每個人島上的水果特產種類應該是 「梨子、櫻桃、蘋果、桃子、橘子」 其中一種喔!'
        message.reply_text(text)
        return

    mongo = db_tools.use_mongo()
    mongo_query = {'chat.id': message.from_user.id}
    mongo_update = {'$set': {'acnh.name': args.n, 'acnh.fruit': args.f}}
    mongo.nintendo.update_one(mongo_query, mongo_update, upsert=True)

    # Success !
    mongo_result = mongo.nintendo.find_one(mongo_query)
    if not isinstance(mongo_result, dict):
        text = '發生了一點錯誤,請告知開發者。'
        message.reply_text(text)
        return

    user = from_dict(data_class=users, data=mongo_result)
    text = '#動物森友 #AnimalCrossing\n' \
        '島名:<code>{island}</code>\n' \
        '特產:#{fruit}\n'.format(
            island=escape(user.acnh.name),
            fruit=user.acnh.fruit
        )
    if not user.privacy:
        text += '好友代碼:<code>{fcode}</code>'.format(fcode=user.fcode)
    else:
        text += '因為[隱私設定]({url})因此不顯示好友代碼。'.format(
            url='t.me/NintendoFCode_bot?start=privacy')

    message.reply_text(text, reply_markup=keyboard.bindacnh(
        share=True), disable_web_page_preview=True)
예제 #3
0
def bindgame(client: Client, message: Message):
    message.command = message.text.split()
    if not Filters.private(message):
        try:
            message.delete()
        except (BadRequest, Forbidden):
            pass
        text = '請私訊我使用 `/bindgame` 啦~'
        message.reply_text(text)
        return
    if len(message.command) == 1:
        text = '請按下方來選擇想要綁定的遊戲。'
        message.reply_text(text, reply_markup=keyboard.bindgame())
        return
예제 #4
0
def check_func(_, message: Message):
    if Filters.forwarded(message):
        return False
    if Filters.edited(message):
        return False
    if Filters.command('help')(message):
        return True

    message.command = message.text.split()
    if Filters.command('start')(message):
        if message.command[1].lower() == 'help':
            return True
        if len(message.command) == 1:
            return True