0
from pyrogram import Client
from pyrogram.errors import PeerFlood
import time

vubor = input('Нажмите Enter чтобы запустить рассылку! ')
api_id = 12905662
api_hash = "a7cfcd44cb95d26d7529d547c9a1d9ef"
app = Client('my_accont11', api_id, api_hash)

if vubor == '':
    def rassulka(app):
        try:
            with open('username.txt', 'r') as file:
                for users in file.readlines():
                    y = users.strip()
                    time.sleep(5)
                    app.send_message(y, 'q')
                    file.replace(y, '')

        except PeerFlood:
            print('Аккаунт заблокировн')


    with app:
        rassulka(app)

pyrogram.errors.exceptions.bad_request_400.PeerIdInvalid:电报说:[400 PEER_ID_INVALID] - 正在使用的对等 id 无效或未知。确保在与同伴互动之前与同伴会面

我不知道该怎么办

4

2 回答 2

0

为了编写这段代码,我使用了 Pyrogram==1.3.6

from pyrogram import Client
from pyrogram.types import Message
from pyrogram.errors import PeerFlood
import time

vubor = input('Нажмите Enter чтобы запустить рассылку! ')

app = Client(
    "my_accont11",
    api_id = 12219599,
    api_hash = "a7cfcd44cb95d26d7529d547c9a1d9ef")

@app.on_message()
async def main(Client,Message):
    if vubor == '':
        try:
            with open('username.txt', 'r') as file:

                for users in file.readlines():
                    y = users.strip()
                    time.sleep(5)
                    await app.send_message(chat_id=Message.from_user.id,y)
                    new_file = file.read()
                    new_file.replace(y, '')
                    break


        except PeerFlood:
            print('Аккаунт заблокировн')


app.run()

安装 Pyrogram 1.3.6:

pip install Pyrogram==1.3.6
于 2022-01-24T17:16:41.940 回答
0

此错误可能意味着几件事(最后可能的解决方案):

  1. 您尝试使用的聊天ID完全错误,请再次检查。
  2. 聊天 ID 是指您不是其成员的群组或频道。
  3. 您传递的聊天 id 参数是字符串形式的;您必须使用 int(chat_id) 将其转换为整数。
  4. 聊天 id 指的是您当前会话尚未遇到的用户或聊天。

关于最后一点:为了与用户会面并与他们交流,您应该问自己如何使用官方应用程序与人联系。Pyrogram 的答案也是一样的,涉及到正常使用,例如搜索用户名、在公共组中与他们会面、保存他们的电话联系人、获取提及他们的消息或获取对话列表。


可能的解决方案

它可能会发生,因为您仅将数字 ID 作为字符串传递。Pyrogram 尝试将它们解析为用户名,如果找不到,它会尝试将它们作为电话号码。如果仍然不匹配,则会出现错误。

尝试使用带有整数的方法,因为您尝试的 ID 是整数。

app.get_chat(-12905662)
{
    "_": "pyrogram.Chat",
    "id": -100123456789,
    }
于 2022-01-20T17:40:40.167 回答