我正在编写一个 C# 桌面应用程序。在这个应用程序中,我编写了一个用户的 Telegram ID,它表明该用户是否是该 channel 的成员。我的机器人是 channel 的管理员。
我使用 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)
{
//??????????????
}
是否有一种方法可以让 Telegram Bot 访问 channel 成员列表?我应该在 IsMember() 方法中写什么?
非常感谢
通过将 telegram.bot nugget 更新到 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;
}
谢谢
最佳答案
您可以使用getChatMember方法,请参阅以下示例。
关于c# - 我如何知道 telegram 用户是否加入了我的 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46542451/