не запускается бот
я хочу сделать бота, но когда я пытаюсь запустить бота он выдает ошибку:
ValueError: invalid literal for int() with base 10: '%7786739667'
изначально я думал что я что то не так сделал, но я перепроверил код на сайте и все так вот сам код:
import telebot
bot = telebot.TeleBot('%токен%')
@bot.message_handler(content_types=['text'])
def get_text_massages(massage):
if massage.text == 'Привет':
bot.send_message(message.from_user.id, 'Привет, как ты меня нашел?')
elif massage.text == '/help':
bot.send_message(message.from_user.id, 'Напиши привет }:)')
else:
bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")
bot.polling(none_stop=True, interval=0)
(бот если что для телеграмма)
надеюсь на помощь
Изменено: Я все делал через терминал IDE я делал так:
1)cd \
2)cd путь к боту
3)python bot.py(бот заменял на имя файла)
Изменено 2:вот полная строчка ошибки
Traceback (most recent call last):
File "bot.py", line 4, in <module>
bot = telebot.TeleBot('%7786739667:остальной_токен%')
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 198, in __init__
self.bot_id: Union[int, None] = util.extract_bot_id(self.token) # subject to change in future, unspecified
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\util.py", line 706, in extract_bot_id
return int(token.split(':')[0])
ValueError: invalid literal for int() with base 10: '%7786739667'
Изменено 3: спасибо @CrazyElf и Revolucion for Monica. Но появилась новая ошибка она выглядит вот так
Traceback (most recent call last):
File "bot.py", line 17, in <module>
bot.polling(none_stop=True, interval=0)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 1198, in polling
self.__threaded_polling(non_stop=non_stop, interval=interval, timeout=timeout, long_polling_timeout=long_polling_timeout,
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 1273, in __threaded_polling
raise e
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 1235, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\util.py", line 150, in raise_exceptions
raise self.exception_info
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\util.py", line 93, in run
task(*args, **kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\telebot\__init__.py", line 8945, in _run_middlewares_and_handler
result = handler['function'](message)
File "bot.py", line 14, in get_text_massages
bot.send_message(message.from_user.id, "Я тебя не понимаю. Напиши /help.")
NameError: name 'message' is not defined
В общем вот так (я опять же сверялся с кодом на сайте все также)
Изменено 5: Все с прошлым изменением вопросов нет
Ответы (1 шт):
ValueError: invalid literal for int() with base 10: '%7786739667'
Эта ошибка обычно возникает, когда в коде что-то пытается преобразовать строку, которая не является числом, в целое число.
Обратите внимание на строку:
bot = telebot.TeleBot('%токен%')
Замените %токен%
на ваш настоящий токен без знаков процента вокруг, например:
bot = telebot.TeleBot('123456789:ABCDEF12345ghijklmnopqrstuvwxyz')