如何使用注册为频道管理员的机器人访问电报频道消息?
我试图从电报频道获取所有信息,并在ASP.NET网页上显示出来(c#)
当新消息直接发送到机器人时,我能够获得更新:
var json = wc.DownloadString(" https://api.telegram.org/bot<token>/getUpdates");
但它不适用于该频道。
到目前为止唯一的办法如下:
隐私
设置为禁用
。步骤 1 可帮助机器人加入频道,以便它看到消息。
第2步使您的机器人监听频道的所有消息。
您可以接收频道帖子和频道帖子编辑。
但您不会在< code>OnMessage事件中接收到它,您可以从< code>OnUpdate中以< code>Message对象的形式接收它,如下所示:
注意:机器人必须是频道中的管理员。
private static readonly TelegramBotClient Bot = new TelegramBotClient("my-real-token");
public static void Main(string[] args)
{
Bot.StartReceive(UpdateType.ChannelPost, UpdateType.EditedChannelPost);
Bot.OnUpdate += Bot_OnUpdate;
}
public static void OnUpdate(UpdateEventArgs e)
{
if (e.Update.Type == UpdateType.ChannelPost)
{
Message post = e.Update.ChannelPost;
//TODO: Store channel post
}
else if (e.Update.Type == UpdateType.EditedChannelPost)
{
Message editedPost = e.Update.EditedChannelPost;
//TODO: Store edited channel post
}
}
不幸的是这还不可能。(他们可能会在未来提出一些东西)作为管理员,你可以只发送消息到渠道。
嗨,我正在尝试建立一个网站登录系统,用户可以使用电报登录。我希望实现此工作流: < li >用户选择通过电报登录/注册。 < li >用户输入他们的用户名(@ExampleJoe)。 < li >通过我的电报机器人(@ExampleBot)向他们发送6位验证码。 < li >用户将收到的6位数字代码输入到我的网站,并被允许进入。 我在步骤 2-3 中遇到了问题,我的机器人可以仅使用其用户名向他们发
我使用curl更新我的公共频道。这种语法: 但是私人频道的是什么?它不是你在私人邀请中的那个。 因为现在我们可以在所有方法中传递通道用户名(格式为@channelusername)来代替chat\u id(而不是forwardMessage中的from\u chat\u id)。但是我管理的私人频道的@channelusername是什么?
在我们的小型初创公司中,我们使用GitLab进行开发,使用Telegram进行开发人员和PO之间的内部沟通。由于PO希望立即看到进度,因此我们设置了GitLab Pipeline,以便在每次提交后将预览版部署在Web服务器上。现在我们想扩展管道。这样在部署后通过Telegram组发送通知。 所以问题是,这可能吗?如果可能,怎么可能? 编辑:因为我已经实现了,这不是一个真正的问题。我想把答案贴在这里
我已经设置了一个电报网络钩子使用node.js/express: 当我获取时,我可以收到我的机器人控制台: 现在我想从机器人程序接收数据,这样当用户访问时https://telegram.me/mybot?start=xyz并按bot,bot应该在的帖子中收到 以下是我收到邮件的路线: 但当用户访问时,我发现机器人中什么也没有发生https://telegram.me/mybot?start=xy
但是私有通道的是什么?不是你私人邀请里的那个。 因为现在我们可以在所有方法中传递通道用户名(格式为@channelusername),而不是forwardMessage中的from_chat_id。但是我管理的私人频道的@ChannelUsername是什么?
我只想让我的机器人接收特定频道的消息,比如当电报用户加入电报频道时。1.我不是频道创建者或管理员。2.我不想让我的机器人成为频道管理员。3.我不想要求每个频道管理员将我的机器人添加到频道成员中。 你知道通过电报客户端UI或API制作机器人、加入频道的方法吗? 有没有另一种方法可以让机器人接收频道的更新?