Telegram 赞助消息

· 功能

sgcWebSockets 2022.3.0 开始,支持赞助消息。赞助消息需要 Telegram 1.8.0+,因此 Telegram 库已更新以支持此功能。

Telegram 上的赞助消息显示在拥有 1000+ 订阅者的大型公开一对多频道中,且限制为 160 个字符。赞助消息完全基于其显示的公开频道的话题

这意味着不会挖掘或分析任何用户数据来显示广告,查看 Telegram 特定频道的每个用户都会看到相同的赞助消息

获取赞助消息 

 每次用户打开频道时,必须调用 channels.getSponsoredMessages 来接收该频道可用的赞助消息。结果必须缓存 5 分钟

显示赞助消息 

赞助消息必须显示在频道中所有其他帖子的下方,即用户继续向下滚动超过最后一条消息后。在 from_id 字段中指定的推广频道或机器人必须显示为消息的作者。消息底部还应包含以下按钮之一:

示例 

以下是使用 sgcWebSockets 库请求和显示赞助消息的示例。

//向频道发送请求,询问是否有可用的赞助消息,只需调用 GetChatSponsoredMessage 方法。
oTelegram := TsgcTDLib_Telegram.Create(nil);
oTelegram.Telegram.API.ApiHash := 'ABCDEFGHIJKLMN';
oTelegram.Telegram.API.ApiId := '1234';
oTelegram.PhoneNumber := '008745744155';
oTelegram.Active := true;
oTelegram.getChatSponsoredMessage('100');
//如果聊天有赞助消息,则会调用 OnMessageSponsored 事件,并传入赞助消息的内容。
//如果没有消息,则返回 404 错误。
procedure(Sender: TObject; MessageSponsored: TsgcTelegramMessageSponsored);
begin
  DoLog(MessageSponsored.Text);
end;
//在向用户显示赞助消息后,调用 ViewMessage 方法。
oTelegram.ViewMessage('100', '54653256245');