0

Telegram のテスト チャットボットで、話す機能を少数のユーザーのみに制限する機能を作成することにしました。Telegram のユーザー ID を入れるために .csv を作成することを考えました (ファイルは program フォルダーにあります)。ただし、チャットを開始したり、ボットで書き込みを行ったりすると、ID テレグラムで非確認メッセージ (「見知らぬ人と話すことはありません」) が表示されます。しかし、私はすでにファイルに入れました!というわけで、Telegram API「getUpdate」でチャットのデータを見ようとしたのですが、表示されません( {"ok":true,"result":[]} )。これは私の機能です:

`def ハンドル (msg):

global bot
global chatter
global language

chat_id = msg['chat']['id']
sender = msg['from']['id']

users = listusers()


if checkuserid == 1:
    verified = 0
    if users != "":
        for usr in users:
            if str(sender) == usr:
                verified = 1
    if verified == 0:
        bot.sendMessage(chat_id, "I don't talk with strangers, dear "+str(sender))
        #write this user in the list of attempted accesses
        if attemptsfile != '':
            lines = ''
            if os.path.isfile(attemptsfile):
                text_file = open(attemptsfile, "r")
                lines = text_file.read()
                text_file.close()
            lines = lines + str(datetime.datetime.now()) + " --- UserdID: " + str(sender) + " DENIED \n"
            text_file = open(attemptsfile, "w")
            text_file.write(lines)
            text_file.close()
        return

command = ''


try:
    if msg['text'] != '':
        command = msg['text']
        print('Got command: ' + command)
except:
    print("No text in this message")


if command == '/time':
    bot.sendMessage(chat_id, str(datetime.datetime.now()))
elif '/adduser' in command:
    if len(command.split(' ')) > 1:
        usrname = command.split(' ')[1]
        adduser(usrname)
        bot.sendMessage(chat_id, "User "+usrname+" added")
elif '/deluser' in command:
    if len(command.split(' ')) > 1:
        usrname = command.split(' ')[1]
        deluser(usrname)
        bot.sendMessage(chat_id, "User "+usrname+" deleted")
elif command == '/help':
    bot.sendMessage(chat_id, "/adduser /deluser /time /exit")
elif command == '/exit':
    global active
    active = False
    bot.sendMessage(chat_id, "The bot will shutdown in 10 seconds")
elif command != '':
    answer = chatter.reply(command)
    bot.sendMessage(chat_id, str(answer))

`

4

0 に答える 0