Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.10.2025
Сообщений: 1

Постоянные ошибки в Telegram боте

27.10.2025, 14:03. Показов 903. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,учусь писать на питоне,самоучка.пишу бота в тг,бьюсь 4й день постоянные ошибки.Если Вам не сложно помогите разобраться ....последняя тайм аут ошибка...прибег нейронке за помощью...но тоже безуспешно..Сдаваться не хочу...совмещаю изучение с основной работой и 3 детьми)))

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import logging
import os
from telegram import Update
from telegram.ext import (
    Application,
    CommandHandler,
    MessageHandler,
    filters,
    CallbackContext
)
from telegram.request import HTTPXRequest
from google.cloud import dialogflow
import asyncio
 
# Базовая настройка логирования
logging.basicConfig(
    format='%(asctime)s - %(levelname)s - %(message)s',
    level=logging.INFO
)
 
# Настройки бота
TELEGRAM_TOKEN = '..........'
DIALOGFLOW_PROJECT_ID = '...........'
 
# Настройка переменных окружения для Dialogflow
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "C:\\Users\\user\\Downloads\\small-talk-bs9o-32f457b76283.json"
 
 
# Обработчик команды /start
async def start_command(update: Update, context: CallbackContext):
    await update.message.reply_text('Привет! Я твой виртуальный помощник.')
 
 
# Обработчик текстовых сообщений
async def text_message(update: Update, context: CallbackContext):
    try:
        session_client = dialogflow.SessionsClient()
        session = session_client.session_path(DIALOGFLOW_PROJECT_ID, update.message.chat_id)
 
        text_input = dialogflow.types.TextInput(
            text=update.message.text,
            language_code='ru'
        )
 
        query_input = dialogflow.types.QueryInput(text=text_input)
        response = session_client.detect_intent(
            session=session,
            query_input=query_input
        )
 
        if response.query_result.fulfillment_text:
            await update.message.reply_text(response.query_result.fulfillment_text)
        else:
            await update.message.reply_text('Не понял вас. Попробуйте спросить иначе.')
 
    except Exception as e:
        logging.error(f"Ошибка обработки текста: {str(e)}")
        await update.message.reply_text('Произошла ошибка. Попробуйте позже.')
 
 
# Обработчик команды /help
async def help_command(update: Update, context: CallbackContext):
    await update.message.reply_text(
        "Доступные команды:\n"
        "/start - начать диалог\n"
        "/help - показать список команд"
    )
 
 
# Основная функция запуска
async def main():
    request_kwargs = {
        'read_timeout': 300,  # увеличенный таймаут чтения
        'connect_timeout': 120,  # увеличенный таймаут подключения
        'write_timeout': 240  # увеличенный таймаут записи
    }
 
    app = Application.builder() \
        .token(TELEGRAM_TOKEN) \
        .request(HTTPXRequest(**request_kwargs)) \
        .build()
 
    # Регистрация обработчиков
    app.add_handler(CommandHandler("start", start_command))
    app.add_handler(CommandHandler("help", help_command))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, text_message))
 
    try:
        logging.info("Запуск бота...")
        await app.initialize()
 
        # Корректный запуск бота
        await app.updater.start_polling(
            poll_interval=1.0,
            timeout=300,  # увеличенный таймаут опроса
            allowed_updates=Update.ALL_TYPES,
            drop_pending_updates=True
        )
        logging.info("Бот запущен успешно")
 
        # Используем run_app вместо run_forever
        await app.run_polling()
 
    except asyncio.TimeoutError:
        logging.error("Превышено время ожидания подключения к Telegram API")
    except Exception as e:
        logging.error(f"Ошибка при запуске бота: {str(e)}")
    finally:
        try:
            # Проверяем, запущен ли апдейтер перед остановкой
            if app.updater.running:
                await app.shutdown()
                logging.info("Ресурсы очищены")
        except Exception as e:
                logging.error(f"Ошибка при очистке ресурсов: {str(e)}")
 
        except Exception as e:
            logging.error(f"Ошибка при завершении работы: {str(e)}")
 
if __name__ == '__main__':
    try:
        asyncio.run(main())
    except Exception as e:
        logging.error(f"Критическая ошибка при запуске: {str(e)}")
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2025, 14:03
Ответы с готовыми решениями:

Sqlite в telegram боте и работа с базой данных
Вообщем нужна помощь, делаю сейчас бота и нужно реализовать такую логику. Человек вводит команду и...

Как сделать кнопку назад в боте Telegram на Python (TeleBot)?
Мне нужно, чтобы при выборе своего возраста была возможность вернуться назад в главное меню назад...

Как в Telegram боте поставить реакцию на сообщение (telebot)?
Есть телеграмм-бот на python (использую telebot), возможно ли как-то реализовать реакции на...

1
Любознательный
 Аватар для YuS_2
7401 / 2245 / 359
Регистрация: 10.03.2016
Сообщений: 5,183
27.10.2025, 15:52
Цитата Сообщение от Ярослав1989 Посмотреть сообщение
учусь писать на питоне,самоучка.пишу бота в тг,бьюсь 4й день постоянные ошибки.
Потому, что учиться необходимо не на написании тг ботов, а с самых основ и постепенно... ну, напишет Вам гопота нерабочий пример, а как разбираться будете? По новым нерабочим примерам или по форумам клянчить? Это не путь обучения...

Цитата Сообщение от Ярослав1989 Посмотреть сообщение
Сдаваться не хочу
Это правильно.
Если есть желание, то книги Лутца (в электронном виде в сети несложно найти) в руки и читать, читать, читать... с практическими примерами, сначала попроще, потом усложнять... а так, нахрапом, "раз-раз и в дамки!" с чужими решениями - а зачем? Вы научиться желаете или готовые, но чужие решения использовать? Решите для себя сначала, чего больше хочется...

Цитата Сообщение от Ярослав1989 Посмотреть сообщение
совмещаю изучение с основной работой и 3 детьми
Так, конечно, сложнее, но и интереснее, в итоге... вот, когда будете свободно писать собственными силами, тогда и получите удовлетворение от потраченных усилий, а так... ну получите готовые решения, потыкаете в них мышко-кнопками несколько дней-месяцев и всё на том, желание перегорит и никакой питон более не понадобится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.10.2025, 15:52
Помогаю со студенческими работами здесь

Вывод текста в Telegram боте
Я пишу телеграм бота который в одном из сообщений должен вывести крипто адрес, который должен быть...

В телеграм боте не приходят уведомления оператору
Добрый день! Пытаюсь создать телеграм-бота по данному мануалу...

Элемент "или" в чат боте вк
Здравствуйте, столкнулся с проблемой. if response == "ping": ...

Как сделать кнопку старт в боте тг?
Есть бот в тг, созданный с помощью botmother.com Чтобы бот запустить нужно написать слово "старт",...

Пост в боте
Всем привет! Хочу сделать что-то типа такого, человек зашел в моего бота, написал хотя бы одно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru