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?
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. 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.
vous pouvez simplement partager le contact avec votre bot et, via / getUpdates, vous obtenez l'objet "contact"
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