2015-11-21 4 views
3

Я хочу получать сообщения с определенного канала в Telegram, используя его API. Я знаю, что messages.getMessages предназначен для получения сообщений в чате. Но могу ли я использовать эту функцию для выполнения того, что я упоминал?
Другими словами, как я могу получать сообщения с канала Telegram?Поддерживает ли метод messages.getMessages API Telegram каналы телеграмм?

ответ

3

вы должны использовать слой 40 (или выше) api для использования каналов. Этот слой имеет конкретный метод для извлечения сообщений из каналов

channels.getMessages # 93d7b347 channel: InputChannel id: Vector = messages.Messages;

Я не тестировал старый метод messages.getMessages, но я думаю, что он не будет работать для каналов.

Надеюсь, это поможет.

+0

, пожалуйста, можете ли вы предоставить ссылку на последнюю информацию о плане телеграмм. Я не вижу Layer 40 на их сайте API. –

+0

Этот метод принимает входной канал, а затем список идентификаторов сообщений, и он заполняет идентификаторы сообщений полным содержимым. Что делать, если у вас есть только идентификатор канала. Как вы получаете идентификаторы сообщений? – Amala

2

Чтобы обойти каналы, вы должны использовать методы каналов. Список каналов можно найти здесь: https://github.com/telegramdesktop/tdesktop/blob/master/Telegram/SourceFiles/mtproto/scheme.tl

channels.getDialogs#a9d3d249 offset:int limit:int = messages.Dialogs; 
channels.getImportantHistory#ddb929cb channel:InputChannel offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; 
channels.readHistory#cc104937 channel:InputChannel max_id:int = Bool; 
channels.deleteMessages#84c1fd4e channel:InputChannel id:Vector<int> = messages.AffectedMessages; 
channels.deleteUserHistory#d10dd71b channel:InputChannel user_id:InputUser = messages.AffectedHistory; 
channels.reportSpam#fe087810 channel:InputChannel user_id:InputUser id:Vector<int> = Bool; 
channels.getMessages#93d7b347 channel:InputChannel id:Vector<int> = messages.Messages; 
channels.getParticipants#24d98f92 channel:InputChannel filter:ChannelParticipantsFilter offset:int limit:int = channels.ChannelParticipants; 
channels.getParticipant#546dd7a6 channel:InputChannel user_id:InputUser = channels.ChannelParticipant; 
channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats; 
channels.getFullChannel#8736a09 channel:InputChannel = messages.ChatFull; 
channels.createChannel#f4893d7f flags:# broadcast:flags.0?true megagroup:flags.1?true title:string about:string = Updates; 
channels.editAbout#13e27f1e channel:InputChannel about:string = Bool; 
channels.editAdmin#eb7611d0 channel:InputChannel user_id:InputUser role:ChannelParticipantRole = Updates; 
channels.editTitle#566decd0 channel:InputChannel title:string = Updates; 
channels.editPhoto#f12e57c9 channel:InputChannel photo:InputChatPhoto = Updates; 
channels.toggleComments#aaa29e88 channel:InputChannel enabled:Bool = Updates; 
channels.checkUsername#10e6bd2c channel:InputChannel username:string = Bool; 
channels.updateUsername#3514b3de channel:InputChannel username:string = Bool; 
channels.joinChannel#24b524c5 channel:InputChannel = Updates; 
channels.leaveChannel#f836aa95 channel:InputChannel = Updates; 
channels.inviteToChannel#199f3a6c channel:InputChannel users:Vector<InputUser> = Updates; 
channels.kickFromChannel#a672de14 channel:InputChannel user_id:InputUser kicked:Bool = Updates; 
channels.exportInvite#c7560885 channel:InputChannel = ExportedChatInvite; 
channels.deleteChannel#c0111fe3 channel:InputChannel = Updates; 
+0

ссылка больше не действительна – Ronin

Смежные вопросы