Returns the difference between the current state of updates of a certain channel and transmitted.

updates.channelDifferenceEmpty#3e11affb flags:# final:flags.0?true pts:int timeout:flags.1?int = updates.ChannelDifference;
updates.channelDifferenceTooLong#a4bcc6fe flags:# final:flags.0?true timeout:flags.1?int dialog:Dialog messages:Vector<Message> chats:Vector<Chat> users:Vector<User> = updates.ChannelDifference;
updates.channelDifference#2064674e flags:# final:flags.0?true pts:int timeout:flags.1?int new_messages:Vector<Message> other_updates:Vector<Update> chats:Vector<Chat> users:Vector<User> = updates.ChannelDifference;
updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference;


Name Type Description
flags # Flags, see TL conditional fields
force flags.0?true Set to true to skip some possibly unneeded updates and reduce server-side load
channel InputChannel The channel
filter ChannelMessagesFilter Messsage filter
pts int Persistent timestamp (see updates)
limit int How many updates to fetch, max 100000
Ordinary (non-bot) users are supposed to pass 10-100



Possible errors

Code Type Description
400 CHANNEL_INVALID The provided channel is invalid
400 CHANNEL_PRIVATE You haven't joined this channel/supergroup
403 CHANNEL_PUBLIC_GROUP_NA channel/supergroup not available
400 FROM_MESSAGE_BOT_DISABLED Bots can't use fromMessage min constructors
400 MSG_ID_INVALID Invalid message ID provided
400 PERSISTENT_TIMESTAMP_EMPTY Persistent timestamp empty
400 PERSISTENT_TIMESTAMP_INVALID Persistent timestamp invalid
400 PINNED_DIALOGS_TOO_MUCH Too many pinned dialogs
400 RANGES_INVALID Invalid range provided

Bots can use this method

Related pages

Working with Updates

How to subscribe to updates and handle them properly.