Как получить имя чата или группы входящих сообщений Telegram с помощью Telethon? - PullRequest
1 голос
/ 27 апреля 2020

У меня есть этот код

from telethon.sync import TelegramClient, events

with TelegramClient('name', api_id, api_hash) as client:
   @client.on(events.NewMessage(pattern=pattern))
   async def handler(event):
      await event.reply("Here should be the Chat or Group name")

Как это реализовать?

1 Ответ

1 голос
/ 27 апреля 2020

, если речь идет только о группах / каналах

chat_from = event.chat if event.chat else (await event.get_chat()) # telegram MAY not send the chat enity
chat_title = chat_from.title

Остальное (если мы хотим получить полное имя сущностей чата, включая пользователей):

from telethon import utils

hat_from = event.chat if event.chat else (await event.get_chat()) # telegram MAY not send the chat enity
chat_title = utils.get_display_name(chat_from)

get_display_name () на самом деле получает имя, которое вы увидите. Работает для типов User, Channel, Chat Этот метод не должен иметь await

...