Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python / telebot - бот не реагирует на сообщения

Богдан Васильевич Ученик (111), на голосовании 1 неделю назад
 import telebot, sqlite3, datetime, config 
 from config import * 
 bot = telebot.TeleBot(token) 
 @bot.message_handler(comnands=["start"]) 
 def start(message): 
 	bot.send_message(message.chat.id, datetime.datetime.now()) 
 if __name__ == "__main__": 
 	bot.polling(none_stop=True) 
Отправляю /start а бот не реагирует
Голосование за лучший ответ
** Эгоист ** Знаток (483) 1 месяц назад
В вашем коде есть несколько ошибок, которые могут привести к тому, что бот не будет реагировать на команды. Вот исправленный вариант:

import telebot
import sqlite3
import datetime
from config import *

bot = telebot.TeleBot(token)

# Исправлено: "comnands" на "commands"
@bot.message_handler(commands=["start"])
def start(message):
# Убедитесь, что отступ правильный
bot.send_message(message.chat.id, str( datetime.datetime.now ()))

if __name__ == "__main__":
bot.polling(none_stop=True)


Основные исправления:
Правильное написание commands: В вашем коде было написано comnands, что вызовет ошибку. Исправьте на commands.
Отступы: Убедитесь, что код в функции start правильно отступлен. В Python отступы критически важны, и в вашем случае они отсутствуют.
Форматирование времени: Если вы хотите отобразить дату в более удобном формате, можете сделать что-то вроде:

bot.send_message(message.chat.id, datetime.datetime.now ().strftime("%Y-%m-%d %H:%M:%S"))


Проверка токена: Убедитесь, что переменная token из config правильно задана и что ваш бот действительно работает.
Запуск:
После внесения этих изменений, запустите скрипт и попробуйте снова отправить /start. Бот должен ответить текущей датой и временем. Если у вас возникнут проблемы, проверьте наличие ошибок в консоли и убедитесь, что бот подключен к Интернету.
Похожие вопросы