@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)

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

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

Похожие вопросы