Ограничьте встроенные кнопки только тем, кто использует команду. telepot - PullRequest
0 голосов
/ 15 марта 2020

У меня есть бот-телеграмма, и я хотел бы убедиться, что только те, кто использует команду / set, которая создает inlineKeyBoard, могут нажимать клавиши, не позволяя другим пользователям вместо этого нажимать кнопки.

то, что я пытался сделать сейчас, на мой взгляд, слишком сложно и громоздко, поэтому я надеялся, что есть более простой способ:

это мое предположение:

при использовании команды, ник и дата сообщения, к которому прикреплена встроенная клавиатура, сообщается в файле

nick = msg_data['user_nickname']
msg = bot.sendPhoto(msg_data['chat_id']," other stuff")
date = msg['date']
with open('ChestLog', 'a') as f:
    txt = str(date) + "  " + str(nick)
    f.write(txt)

, когда нажимается встроенная клавиша, дата сообщения сравнивается с датой файла, а затем печатается строка

            nick = msg_data['user_nick_risp']
            mess_date = msg_data['query_date']

            with open('ChestLog', 'rb') as file2:
                file2 = file2.read()
                for line in file2.splitlines():
                    line = line.decode('utf-8')

                    if str(curr_date) in line:
                        bot.sendMessage(aalex_id , "things happen:"+str(line)

но это действительно слишком сложно сделать для каждой команды, поэтому каждое предложение принимается, даже тот факт, что я тупой: D

...