@kir_1_top

Как сделать, чтобы тг бот работал бесконечно на pythonanywhere?

Бот через некоторое время вырубается с ошибкой ReadTimeOut.
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
RyanovskY
@RyanovskY
если телебот то запуск бота делай так:
asyncio.run(bot.polling(none_stop=True))

import telebot
from telebot import types
import sqlite3
import csv
from telebot.types import InlineKeyboardButton, InlineKeyboardMarkup, CallbackQuery
import colorama
import random
from colorama import Fore, init, Style
from telebot import apihelper
import asyncio
import threading
import time
import sys

init(autoreset=True)
colorama.init()

# цвета
re = "\033[1;31m"  # красный
gr = "\033[1;32m"  # зелёный
cy = "\033[1;36m"  # циановый
pnk = "\033[1;35m"  # розовый
blu = "\033[1;34m"  # Синий
ylw = "\033[1;33m"  # Жёлтый
pur = "\033[1;35m"  # Фиолетовый

# рандомный цвет
colors = ["\033[1;31m", "\033[1;32m", "\033[1;33m", "\033[1;34m", "\033[1;35m", "\033[1;36m"]
random_color = random.choice(colors)


def banner():
    print(random_color + '''
        ██████╗ ██╗   ██╗ █████╗ ███╗   ██╗ ██████╗ ██╗   ██╗███████╗██╗  ██╗██╗   ██╗
        ██╔══██╗╚██╗ ██╔╝██╔══██╗████╗  ██║██╔═══██╗██║   ██║██╔════╝██║ ██╔╝╚██╗ ██╔╝
        ██████╔╝ ╚████╔╝ ███████║██╔██╗ ██║██║   ██║██║   ██║███████╗█████╔╝  ╚████╔╝ 
        ██╔══██╗  ╚██╔╝  ██╔══██║██║╚██╗██║██║   ██║╚██╗ ██╔╝╚════██║██╔═██╗   ╚██╔╝  
        ██║  ██║   ██║   ██║  ██║██║ ╚████║╚██████╔╝ ╚████╔╝ ███████║██║  ██╗   ██║   
        ╚═╝  ╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝   ╚═══╝  ╚══════╝╚═╝  ╚═╝   ╚═╝   ''')


banner()


# Создание и запуск потока
cursor_thread = threading.Thread(target=spinning_cursor)
cursor_thread.start()

while True:
    # Создаем экземпляр бота
    bot = telebot.TeleBot('6174258')

    def handle_bad_gateway_error(func):
        def wrapper(*args, **kwargs):
            try:
                return func(*args, **kwargs)
            except telebot.apihelper.ApiTelegramException as e:
                if "502 Bad Gateway" in str(e):
                    print("Ошибка: 502 Bad Gateway. Попробуйте еще раз позже.")
                else:
                    raise e  # Перебрасываем другие ошибки

        return wrapper

    # Обработчик команды /start
    @handle_bad_gateway_error
    @bot.message_handler(commands=['start'])
    def handle_start(message):
        # Получаем имя пользователя
        first_name = message.from_user.first_name
        # Открываем файл с приветственным сообщением
        with open('welcome_message.txt', 'r', encoding='utf-8') as file:
            welcome_message = file.read()
        # Отправка фотографии с текстом из файла
        with open('welcome_photo.jpg', 'rb') as photo:
            markup = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
            markup.add(*server.keys())
            bot.send_photo(message.chat.id, photo, caption=f'Привет,{first_name}! \n{welcome_message}', reply_markup=markup)
            insert_user(str(message.chat.id), str(message.from_user.username), str(f'{message.text}'))
            print(ylw + str(message.chat.id), blu + str(message.from_user.username), pnk + str(f'{message.text}'))


    # Запуск бота
    asyncio.run(bot.polling(none_stop=True))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Заняться обработкой исключений, чтоб из-за ошибки код продолжил работать
https://pythonchik.ru/osnovy/python-try-except
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
03 мая 2024, в 22:18
1000 руб./за проект
03 мая 2024, в 21:57
1000 руб./за проект
03 мая 2024, в 21:47
500 руб./за проект