@slavkys

Telegram bot не реагирует на команды?

Привет, такой вопросик. Бот телеграмма перестал реагировать на команды, после перезапуска реагирует на последнюю команду, а далее все оп новой, код не менял. Есть варианты? Python.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import config
import json
from sbet import get_prognoze
from time import sleep
from info import info
import telebot

token = config.token
URL='https://api.telegram.org/bot' + token + '/'

global last_update_id
last_update_id = 0

def get_updates():
    url = URL + 'getupdates'
    r = requests.get(url)
    return (r.json())

def get_message():

    data = get_updates()
    last_object = data['result'][-1]
    c_update_id = last_object['update_id']

    global last_update_id
    if last_update_id != c_update_id:
        last_update_id = c_update_id

        chat_id = last_object['message']['chat']['id']
        mtext = last_object['message']['text']
        message = {'chat_id': chat_id, 'text': mtext}

        return message
    return None

def send_message(chat_id, text):
    url = URL + 'sendmessage?chat_id={}&text={}'.format(chat_id, text)
    requests.get(url)

def main():

    while True:
        answer = get_message()

        if answer != None:
            chat_id = answer['chat_id']
            text = answer['text']

            if text == '/info':
                send_message(chat_id,info())

            if text == '/prognoz':
                send_message(chat_id, get_prognoze())
        else:
            continue
        sleep(1)


if __name__ == '__main__':
    main()
  • Вопрос задан
  • 5100 просмотров
Пригласить эксперта
Ответы на вопрос 2
ixon
@ixon

Зависит от того, как он написан. Вполне возможно, что он отвечает на команды последовательно, игнорируя уже не актуальные и какая-то из команд его заклинивает.
Попробуйте всё логировать, выводить всё, что может быть подозрительным.
Ответ написан
@egoralexry
Советую прочитать про webhook либо bot.poling
Вашу проблема решит строчка bot.polling(none_stop=True)
Так же советую открыть и почитать api telebot, и пользоваться готовыми json объектами, удобными методами и для улавливания сообщений использовать удобней всего декораторы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:20
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект