Мой бот Telegram работает со сбоями. Как мне это исправить - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в создании ботов. Сначала, когда я создал бота, он работал нормально. Когда пользователь отправляет «Привет», он отвечает приветственным сообщением. Если пользователь отправляет сообщение, отличное от «Привет» или «Воспроизведение», он отвечает, что не понимает сообщение. Хотя с самого начала он отказывался подчиняться команде «play». Когда пользователь отправляет сообщение «play», он отвечает, что не понимает сообщение.

Но сейчас оно работает неправильно. На любое сообщение, которое отправляет пользователь, он всегда отвечает приветственным сообщением «Здравствуйте, добро пожаловать на нашего бота. Введите« Play »на роль Dice!».

Пожалуйста, как мне это исправить.

Вот код ниже:

import random
import requests as requests


url="https://api.telegram.org/bot'TOKEN'/"

def get_chat_id(update):
    chat_id=update['message']["chat"]["id"]
    return chat_id

def get_message_text(update):
    message_text=update["message"]["text"]
    return message_text


def last_update(req):
    response=requests.get(req +"getUpdates")
    response=response.json()
    result=response["result"]
    total_updates=len(result) - 1
    return result[total_updates]


def send_message(chat_id, message_text):
    params={"chat_id":chat_id,"text":message_text}
    response=requests.post(url + "sendMessage",data=params)
    return response


def main():
    update_id=last_update(url)["update_id"]
    while True:
        update=last_update(url)
        if update_id==update["update_id"]:
            if get_message_text(update).lower()=="hello"or"hey"or"Hi":
                send_message(get_chat_id(update),"Hello welcome to our bot. Type 'Play' to role Dice!")
            elif get_message_text(update).lower()=="play":
                _1=random.randint(1,6)
                _2=random.randint(1,6)
                _3=random.randint(1,6)
                send_message(get_chat_id(update),'You have '+str(_1)+' and '+str(_2)+' and '+str(_3)+' ! \n\n Your result is '+str(_1+_2+_3)+' !!!')
            else:
                send_message(get_chat_id(update),"Sorry I am an automated system and didn't understand your reply\n\n Reply 'Play' to role Dice")
            update_id+=1



main()

Пожалуйста, как мне это исправить ?. Заранее спасибо.

...