2017-10-03 2 views
0

J'écris une application de bureau C# dans cette application, j'écris un télégramme Id d'un utilisateur et il dit que l'utilisateur est membre de la chaîne ou non. mon bot est administrateur de la chaîne. J'utilise telegram.bot v9 nugget et j'ai cherché à propos de ce problème toute la journée.Comment savoir si un utilisateur de télégrammes a rejoint ma chaîne?

J'ai essayé d'utiliser GetChatMembersCountAsync() dans v13 et beaucoup d'autres méthodes mais ne fonctionnait pas.

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) 
    { 
     //?????????????? 
    } 

Y at-il une méthode pour un accès bot télégramme à la liste des membres d'un canal? que dois-je écrire dans la méthode IsMember()?

Merci beaucoup


Ce problème résolu par la mise à jour telegram.bot pépite à v10 et en utilisant la méthode 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; 
    } 

merci

Répondre

3

Vous pouvez utiliser la méthode getChatMember pour le faire, voir exemple ci-dessous.

Awesome Telegram Bot

+0

Je ne suis pas sûr que c'est ce que l'OP demandait ... mais des questions comme celle-ci me font me demander pourquoi nous avons des manuels, alors ... tout va bien, je suppose? – Sebivor

2

En ce qui concerne à Telegram Bot API documentation actuellement il n'y a pas de méthode disponible pour les robots pour obtenir la liste des membres de chat (canal ou groupe). Voici une petite astuce: Vous pouvez vérifier les mises à jour (messages) venus de Telegram à votre webhook, si le champ new_chat_members a une valeur et le champ chat_id indique qu'il provient de votre chaîne, alors vous pouvez enregistrer les informations sur les utilisateurs récents qui a rejoint votre chaîne