【发布时间】:2017-10-03 10:28:05
【问题描述】:
我正在编写一个 C# 桌面应用程序。在这个应用程序中,我编写了一个用户的电报 ID,它表示该用户是否是频道的成员。我的机器人是频道的管理员。
我使用 telegram.bot v9 nugget 并整天搜索这个问题。
我尝试在 v13 中使用 GetChatMembersCountAsync() 和许多其他方法,但没有奏效。
static private Api bot = new Api("Token");
long id;
string channel="@ChannelName";
public Main()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
id = long.Parse(textBox7.Text);
if (IsMember(id,channel))
MessageBox.Show("This user is member of channel");
else
MessageBox.Show("This user is not a member of channel");
}
private bool IsMember(long id,string channelName)
{
//??????????????
}
有没有一种方法可以让电报机器人访问频道成员列表? IsMember() 方法应该写什么?
非常感谢
通过将 telegram.bot 块更新到 v10 并使用 GetChatMemberAsync 方法解决了这个问题。
private bool IsMember(long id,string channelName)
{
var t = bot.GetChatMemberAsync(channelName, id);
if (t.Result.Status.ToString().Length > 25)
return false;
return true;
}
谢谢
【问题讨论】:
标签: c# telegram telegram-bot