Задать вопрос
@danil_56

Как исправить проблему при выгрузке телеграмм бота на pyTelegramBotAPI на сервера?

Я выгружаю телегармм бота на сервер -https://www.pythonanywhere.com в боте использую библиотеки 65709b124c6d6562769030.png

и мне выдаёт такую ошибку консоль на сайте65709ba434a82756753485.png
Все библиотеки установил, не могу понять в чем проблема
И как можно выгрузить бота на другие сервера?

P.s с вопросом выше я разобрался, теперь мне выдаёт ошибку 16:28 ~/bot $ python main.py
2023-12-06 16:32:34,260 (__init__.py:1083 MainThread) ERROR - TeleBot: "Threaded polling exception: A request to the Te
legram API was unsuccessful. Error code: 409. Description: Conflict: terminated by other getUpdates request; make sure
that only one bot instance is running"
2023-12-06 16:32:34,260 (__init__.py:1085 MainThread) ERROR - TeleBot: "Exception traceback:
Traceback (most recent call last):
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/__init__.py", line 1073, in __threaded_pollin
g
polling_thread.raise_exceptions()
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/util.py", line 108, in raise_exceptions
raise self.exception_info
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/util.py", line 90, in run
task(*args, **kwargs)
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/__init__.py", line 649, in __retrieve_updates
updates = self.get_updates(offset=(self.last_update_id + 1),
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/__init__.py", line 623, in get_updates
json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates, long_polling_timeout)
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/apihelper.py", line 321, in get_updates
return _make_request(token, method_url, params=payload)
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/apihelper.py", line 162, in _make_request
json_result = _check_result(method_name, result)
File "/home/Pythonbot987789/.local/lib/python3.10/site-packages/telebot/apihelper.py", line 189, in _check_result
raise ApiTelegramException(method_name, result, result_json)
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 409. Description: C
onflict: terminated by other getUpdates request; make sure that only one bot instance is running

вот код:

bot = telebot.TeleBot('6902734262:AAECajXTJ6pAnVr6oO0jHKAv4ej0CBNZ4PM')
currency = CurrencyConverter()
amount = 0

@bot.message_handler(commands = ['help_converter'])
def help_Converter(message):
markup = types.InlineKeyboardMarkup()
btn_my_site= types.InlineKeyboardButton(text='European Central Bank', url='https://www.ecb.europa.eu/home/html/index.en.html')
markup.add(btn_my_site)
bot.send_message(message.chat.id, "На этом сайте вы можете более подробно ознакомиться со всеми валютами", reply_markup = markup)

@bot.message_handler(['start'])
def start(message):
bot.send_message(message.chat.id, 'Привет, введите сумму')
bot.register_next_step_handler(message, suma)

def suma(message):
global amount
try:
amount = int(message.text.strip())
except ValueError:
bot.send_message(message.chat.id, 'Неверный формат.Введите сумму')
bot.register_next_step_handler(message, suma)
return

if amount > 0:
markup = types.InlineKeyboardMarkup(row_width=2)
btn1 = types.InlineKeyboardButton('USD/EUR', callback_data='usd/eur')
btn2 = types.InlineKeyboardButton('EUR/USD', callback_data='eur/usd')
btn3 = types.InlineKeyboardButton('USD/GBP', callback_data='usd/gbp')
btn4 = types.InlineKeyboardButton('Другое значение', callback_data='else')
markup.add(btn1, btn2, btn3, btn4)
bot.send_message(message.chat.id, 'Выберите пару валют', reply_markup=markup)
else:
bot.send_message(message.chat.id, 'Число должно быть больше 0.Введите сумму')
bot.register_next_step_handler(message, suma)

@bot.callback_query_handler(func=lambda call: True)
def callback(call):
if call.data != 'else':
values = call.data.upper().split('/')
res = currency.convert(amount, values[0], values[1])
bot.send_message(call.message.chat.id, f'Получается: {round(res, 2)}. Можете заново вписать сумму')
bot.register_next_step_handler(call.message, suma)
else:
bot.send_message(call.message.chat.id, 'Введите пару значений через слэш')
bot.register_next_step_handler(call.message, my_currensy)

def my_currensy(message):
try:
values = message.text.upper().split('/')
res = currency.convert(amount, values[0], values[1])
bot.send_message(call.message.chat.id, f'Получается: {round(res, 2)}. Можете заново вписать сумму')
bot.register_next_step_handler(message, suma)
except Exception:
bot.send_message(call.message.chat.id, f'Что-то не так.Впишите значение заново')
bot.register_next_step_handler(message, my_currensy)

bot.polling(none_stop=True)
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
@codingoleg
Вам же ошибка явно указала, что
make sure that only one bot instance is running
Бот с таким токеном уже запущен, поэтому второй не запустится. Остановите работающего бота или создайте новый токен и запустите ваш код с ним.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы