Comment obtenir L'id de chat Télégramme pour un utilisateur spécifique?

puis-je savoir ce qu'est chat_id dans l'api bot de telegram? La documentation dit:

"identificateur entier | unique pour le destinataire du message-utilisateur ou GroupChat id"

je ne pouvais pas trouver toute description. Comment puis-je l'obtenir pour un utilisateur ou un groupe?

40
demandé sur Charles Okwuagwu 2015-06-26 20:16:30

4 réponses

les mises à jour de message que vous recevez via getUpdates ou votre webhook contiendra l'ID de chat pour le message spécifique. Il sera contenu dans le message.chat.id clé.

cela semble être la seule façon que vous êtes en mesure de récupérer l'ID de chat. Donc, si vous voulez écrire quelque chose où le bot initie la conversation, vous devrez probablement stocker l'ID de chat en relation avec l'utilisateur dans une sorte de clé->de stockage de valeur comme MemCache ou Redis.

https://core.telegram.org/bots#deep-linking-example. Vous pouvez utiliser le " deep-linking pour amorcer une conversation sans exiger de l'utilisateur qu'il tape d'abord un message.

26
répondu Chris Brand 2015-06-26 20:50:27

j'ai créé un bot pour obtenir L'ID utilisateur ou GroupChat, envoyez simplement les /my_id télégramme bot @get_id_bot.

il ne fonctionne pas seulement pour l'ID de chat utilisateur, mais aussi pour l'ID de chat de groupe.

pour obtenir l'ID de chat de groupe, vous devez d'abord ajouter le bot au groupe, puis de l'envoyer /my_id dans le groupe.

Ici est le lien vers le bot.

28
répondu fredy kardian 2017-06-11 14:16:24

vous pouvez simplement partager le contact avec votre bot et, via / getUpdates, vous obtenez l'objet "contact"

7
répondu Ian Luca 2015-12-23 16:48:14

en utilisant L'API Perl vous pouvez l'obtenir de cette façon: tout d'abord, vous envoyez un message au bot à partir de Telegram, puis l'émission d'un getUpdates et l'id de chat doit être là:

#!/usr/bin/perl

use Data::Dumper;
use WWW::Telegram::BotAPI;

my $TOKEN = 'blablabla';
my $api = WWW::Telegram::BotAPI->new (
    token => $TOKEN
) or die "I can't connect";

my $out = $api->api_request ('getUpdates');
warn Dumper($out);
my $chat_id = $out->{result}->[0]->{message}->{chat}->{id};
print "chat_id=$chat_id\n";

L'id doit être chat_id mais cela peut dépendre du résultat, donc j'ai aussi ajouté un dump de la totalité du résultat.

vous pouvez installer L'API Perl à partir de https://github.com/Robertof/perl-www-telegram-botapi. Cela dépend de votre système, mais je l'ai installé facilement sur mon Serveur Linux:

$ sudo cpan WWW::Telegram::BotAPI

J'espère que cela aidera

5
répondu Francesc Guasch 2015-07-27 09:35:57