Я пытаюсь использовать Quart с Hypercorn и Telethon. У меня есть прослушиватель сообщений, но поскольку я интегрировал Quart и Telethon, прослушиватель больше не срабатывает (см. минимальный воспроизводимый пример ниже). Есть ли у кого-нибудь идеи, почему этот код не работает?
Я использовал этот код в качестве шаблона, но это не совсем тот же вариант использования, так как нет прослушивателя обновлений.
Когда я запускаю код с python3 main.py, все работает правильно, но когда я запускаю с python3 -m Hypercorn main:api (Windows 10), прослушиватель не работает.
import os
from dotenv import load_dotenv
from telethon import TelegramClient, events, sync
import hypercorn.asyncio
from quart import Quart, request, json
# Load environment variables
load_dotenv()
# Global variables
allMessages = []
# Enable connection
api_id = os.getenv("API_ID")
api_hash = os.getenv("API_HASH")
phone_number = os.getenv("PHONE_NUMBER")
channel_username=os.getenv("CHANNEL")
client = TelegramClient('abc', api_id, api_hash)
client.start(phone_number)
# Get chat entity
chat = client.get_entity(channel_username)
# Listen for new messages
@client.on(events.NewMessage(incoming=True, chats=chat))
async def handler(event):
message = event.message
allMessages.insert(0, message)
print(message.stringify())
# Web Server
api = Quart(__name__)
@api.route('/messages/json', methods=['GET'])
def route_get_messages_json():
return "test"
async def main():
await hypercorn.asyncio.serve(api, hypercorn.Config())
if __name__ == '__main__':
client.loop.run_until_complete(main())
Более того, я попытался заменить несколько нижних строк вырезанными из этого вопроса, но, к сожалению, это тоже не сработало.
async def main():
await serve(api, hypercorn.config.Config())
if __name__ == '__main__':
loop = client.loop
asyncio.set_event_loop(loop)
client.loop.run_until_complete(main())
Подробнее здесь: https://stackoverflow.com/questions/703 ... -hypercorn
Обработчик событий Telethon не работает с Hypercorn ⇐ Python
Программы на Python
-
Anonymous
1772229092
Anonymous
Я пытаюсь использовать Quart с Hypercorn и Telethon. У меня есть прослушиватель сообщений, но поскольку я интегрировал Quart и Telethon, прослушиватель больше не срабатывает (см. минимальный воспроизводимый пример ниже). Есть ли у кого-нибудь идеи, почему этот код не работает?
Я использовал этот код в качестве шаблона, но это не совсем тот же вариант использования, так как нет прослушивателя обновлений.
Когда я запускаю код с python3 main.py, все работает правильно, но когда я запускаю с python3 -m Hypercorn main:api (Windows 10), прослушиватель не работает.
import os
from dotenv import load_dotenv
from telethon import TelegramClient, events, sync
import hypercorn.asyncio
from quart import Quart, request, json
# Load environment variables
load_dotenv()
# Global variables
allMessages = []
# Enable connection
api_id = os.getenv("API_ID")
api_hash = os.getenv("API_HASH")
phone_number = os.getenv("PHONE_NUMBER")
channel_username=os.getenv("CHANNEL")
client = TelegramClient('abc', api_id, api_hash)
client.start(phone_number)
# Get chat entity
chat = client.get_entity(channel_username)
# Listen for new messages
@client.on(events.NewMessage(incoming=True, chats=chat))
async def handler(event):
message = event.message
allMessages.insert(0, message)
print(message.stringify())
# Web Server
api = Quart(__name__)
@api.route('/messages/json', methods=['GET'])
def route_get_messages_json():
return "test"
async def main():
await hypercorn.asyncio.serve(api, hypercorn.Config())
if __name__ == '__main__':
client.loop.run_until_complete(main())
Более того, я попытался заменить несколько нижних строк вырезанными из этого вопроса, но, к сожалению, это тоже не сработало.
async def main():
await serve(api, hypercorn.config.Config())
if __name__ == '__main__':
loop = client.loop
asyncio.set_event_loop(loop)
client.loop.run_until_complete(main())
Подробнее здесь: [url]https://stackoverflow.com/questions/70332124/telethon-event-handler-does-not-work-with-hypercorn[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия