Как воспользоваться Telethon для отправки сообщения, полученного от отправителя, в группу?

Как изменить код, чтобы при получении сообщения в личную переписку аккаунта в Telegram, оно автоматически пересылалось в указанную группу с сохранением информации о отправителе?
Изображение к вопросу
Изображение к вопросу
  • 22 сентября 2023 г. 21:27
Ответы на вопрос 2
Для использования библиотеки Telethon для отправки сообщений из личной переписки в группу, вам понадобится создать сессию и выполнить несколько шагов.

Вот пример кода:

```python
from telethon.sync import TelegramClient, events

# Замените значениями своего аккаунта
api_id = 123456
api_hash = '0123456789abcdef0123456789abcdef'

# Замените значениями своей сессии
session_name = 'my_session'
phone_number = '+1234567890'

# Замените значениями своей группы
group_username = 'group_username'

# Создание клиента
client = TelegramClient(session_name, api_id, api_hash)

# Обработчик события нового сообщения
@client.on(events.NewMessage(chats=phone_number))
async def handle_message(event):
    # Отправляем сообщение в указанную группу с сохранением информации о отправителе
    await client.send_message(group_username, f'{event.sender_id}: {event.text}')
    print(f'Message forwarded: {event.text}')

# Подключение и запуск клиента
client.start()
client.run_until_disconnected()
```

1. Замените `api_id` и `api_hash` своими значениями. Вы можете получить их, создав приложение на [Telegram API](https://my.telegram.org/auth).
2. Замените `session_name` своим названием сессии. Он может быть любым уникальным значением.
3. Замените `phone_number` своим номером телефона в формате '+1234567890'.
4. Замените `group_username` на имя пользователя или ID вашей группы, в которую вы хотите пересылать сообщения.
5. В теле обработчика события `handle_message` вы можете изменить формат пересылаемого сообщения в группу. В примере используется формат "отправитель: текст сообщения".

При запуске кода вы должны будете авторизоваться на аккаунте Telegram, используя ваш номер телефона. После этого, любое полученное сообщение в личной переписке с вашим аккаунтом будет автоматически пересылаться в указанную группу с сохранением информации о отправителе.
telegram-chat: Вам нужно использовать методы API и объекты telethon для пересылки сообщений из чата telegram в библиотеку telethon. Например, вы можете использовать метод forward_message(), чтобы переслать сообщение, и установить параметр drop_author=False, чтобы сохранить информацию об отправителе.
Похожие вопросы