Задать вопрос
@sashx

Почему UserBot не может прочитать id пользователя?

Пишу бота - администратора, который будет "слушать" телеграмм - чат и делать предупреждения в личных сообщениях. Но как только приходит негативное сообщение от пользователя, при попытке отправить ему сообщение, возвращается ошибка:
Could not find the input entity for PeerUser(user_id=...) (PeerUser).


В листинге убрал суть и основной код, оставил проблемный участок:
Листинг


import logging
import time

import telebot
from telethon import TelegramClient, events
from telethon.tl.types import PeerUser
import config


api_id = config.API_ID
api_hash = config.API_HASH
phone = config.PHONE

client = TelegramClient(phone, api_id, api_hash)

@client.on(events.NewMessage(chats=(config.link)))
async def normal_handler(event):
    # --- Currently message from user ---
    user_mess = event.message.to_dict()['message']
    user_id = str(s_user_id['user_id'])

    try:
        await client.send_message(int(user_id),
                                  f'У Вас предупреждение!',
                                  parse_mode="HTML")

        logging.warning('The User Is Successfuly Processed')
    except ValueError as e:
        print(e)
        pass


client.start()
group = config.link
participants = client.get_participants(group)
users = {}

while True:
    try:
        client.run_until_disconnected()
    except Exception:
        logging.warning('Something Went Wrong')
        time.sleep(1)

  • Вопрос задан
  • 96 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@puzaka
По-моему, это связано с тем, что бот не может отправлять сообщение тому, кто ранее не писал боту
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽