Возможно ли получить id канала в Telegram с помощью Pyrogram без @username?

Имеется следующий код

import asyncio
from pyrogram import Client

api_id = ********
api_hash = '*************************************'

class ChannelRUN:
	async def main():
		async with Client('my_account', api_id, api_hash) as app:
			#Создание канала
			await app.create_channel('Channel Title', 'Channel Description')
			#Смена @username канала
			await app.set_chat_username(chat_id, 'new_username')
			#Смена фотографии канала
			await app.set_chat_photo(chat_id, photo='')

asyncio.run(ChannelRUN.main())


Первым делом создается телеграмм канал, после этого все стопорится т.к чтобы продолжать совершать изменения с каналом нужно иметь его chat_id, вручную получить его не составляет труда, но это нужно автоматизировать, пока что не придумал как. username я не имею, значит получить chat_id не могу, опубликовать пост в канале, который можно было бы переслать боту @GetMyId тоже не могу.

Поставить @username руками можно, но делать этого нельзя, все должно быть автоматизировано.
Есть у кого идеи?
  • Вопрос задан
  • 620 просмотров
Решения вопроса 1
Shurik24
@Shurik24
Обычный программист самоучка
Ну если я верно понял ты пытаешь создать канал и получит его ID, дабы потом с ним взаимодействовать
В документации отлично описано что create_channel возвращает при успехе объект chat
Он же в себе уже имеет chat id

await channel = app.create_channel('Channel Title', 'Channel Description') # Здесь может быть ошибка с await
print(channel) # Покажет тебе все что есть в объекте

Давно не работал с await поэтому не знаю правильно ли написал
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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