Ведем телеграм канал через питон

Для создания ботов существует библиотека aiogram. Но не всегда обязательно использовать ботов, вить иногда вам просто нужно посылать сообщения в канал с собственного имени. Для этого больше всего подходит библиотека pyrogram.

Устанавливаем её:

pip install pyrogram

Далее нужно создать телеграм приложение, от которого будут посылатся запросы. Создать приложение можно на https://my.telegram.org/apps. После регистрации приложения должна появится такая форма:


Как посылать сообщения в канал 

from pyrogram import Client

api_id = 12345
api_hash = "0123456789abcdef0123456789abcdef"

with Client("my_account", api_id, api_hash) as app:
    app.send_message("me""Greetings from **Pyrogram**!")
Вместо api_id и api_hash нужно подставить свои данные, полученные при регистрации.


Далее нужно ввести свой номер телефона, и ввести код который пришел на него. В этой же директории будет файл my_account.session. В нем содержится сама сейсия.
В сохранённых сообщениях появится это сообщение. Если вы хотите посылать сообщения себе в канал, просто поменяйте "me" на имя вашего канала. Или если ваш канал приватный, скопируйте инвайт ссылку и делайте:
from pyrogram import Client

api_id = 12345
api_hash = "0123456789abcdef0123456789abcdef"

with Client("my_account", api_id, api_hash) as app:
    chat = app.get_chat("https://t.me/joinchat/AAAAAFLj36ySCS4JjLcnwg")
    app.send_message(chat.id, "Greetings from **Pyrogram**!")
Если у вас не получился туториал, можете написать ошибки в комментариях я вам помогу.

Комментарии

  1. Привет. Авторизация прошла, сообщение пришло, но с такой ошибкой:
    Traceback (most recent call last):
    File "/home/defuser/TelegramAPI/hello copy.py", line 8, in
    app.send_message("me", "Greetings from **Pyrogram**!")
    File "/home/defuser/.local/lib/python3.7/site-packages/pyrogram/sync.py", line 51, in async_to_sync_wrap
    return loop.run_until_complete(coroutine)
    File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
    return future.result()
    File "/home/defuser/.local/lib/python3.7/site-packages/pyrogram/methods/messages/send_message.py", line 178, in send_message
    is_scheduled=isinstance(i, raw.types.UpdateNewScheduledMessage)
    File "/home/defuser/.local/lib/python3.7/site-packages/pyrogram/types/messages_and_media/message.py", line 727, in _parse
    sender_chat = types.Chat._parse(client, message, users, chats, is_chat=False) if not from_user else None
    File "/home/defuser/.local/lib/python3.7/site-packages/pyrogram/types/user_and_chats/chat.py", line 272, in _parse
    return Chat._parse_user_chat(client, users[chat_id])
    KeyError: 5042514384

    Ай нид хэлп

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

DOS атака при помощи Python

Как исправить ошибку "Notreadableerror: could not start video source" в javascript