J'utilise mon bot pour annoncer des nouvelles importantes, mais lorsque j'utilise sendMessage
sur le canal, le message d'erreur suivant s'affiche:
{"ok":false,"error_code":403,"description":"Error: Forbidden: bot is not a participant of the channel"}
Dans le Change Log , ils mentionnent qu'il n'est pas possible via le client d'envoyer un message à un canal, mais quelle est l'autre manière de le faire?
La question est donc: comment ajouter mon bot à la chaîne?
Désormais, tous les clients le permettent, mais ce n’est pas très simple.
Dans tout client Telegram:
Administrators
Voici comment j'ai ajouté un bot à mon canal et configuré les notifications:
telegram.me/whatsIWantAndAvailable
l'identifiant de la chaîne sera @ whatIWantAndAvailable
Maintenant, configurez votre bot pour envoyer des notifications en envoyant les messages ici:
https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @wtherIWantAndAvailable & text = Test
le message que le bot va notifier est: Test
Je suggère fortement un code URL du message comme
https://api.telegram.org/botTOKENOFTHEBOT/sendMessage?chat_id= @wtherIWantAndAvailable & text = Test de% 20if% 20e% 20%
en php, vous pouvez utiliser urlencode ("Testez si cela fonctionne"); dans js, vous pouvez encoderURIComponent ("Testez si cela fonctionne");
J'espère que ça aide
A partir de maintenant:
Pour ajouter le bot à votre chaîne:
* Sur certaines plates-formes telles que le client de télégramme natif mac, il peut sembler que vous pouvez ajouter un bot en tant que membre, mais à la fin, cela ne fonctionnera pas.
** le bot n'a pas besoin d'être dans votre liste de contacts.
Utilisez-vous le bon chat_id et incluez-vous le jeton de votre bot après "bot" dans l'adresse? (api.telegram.org/bottoken/sendMessage)
Cette page explique quelques points concernant l’envoi (plus bas dans la section "sendMessage") - éléments de base, mais j’oublie souvent les éléments de base.
Citer:
Pour utiliser la méthode sendMessage, nous devons utiliser le chat_id approprié.
Tout d’abord, envoyons la commande/start à notre bot via un client Telegram.
Après avoir envoyé cette commande, exécutons une commande getUpdates.
curl -s \
-X POST \ https://api.telegram.org/bot<token>/getUpdates \ | jq .
La réponse sera comme suit
{ "result": [
{
"message": {
"text": "/start",
"date": 1435176541,
"chat": {
"username": "yourusername",
"first_name": "yourfirstname",
"id": 65535
},
"from": {
"username": "yourusername",
"first_name": "yourfirstname",
"id": 65535
},
"message_id": 1
},
"update_id": 714636917
} ], "ok": true }
Nous sommes intéressés par la propriété result.message [0] .chat.id, enregistrez cette information ailleurs.
Veuillez noter qu'il ne s'agit que d'un exemple, vous pouvez configurer un automatisme pour traiter ces informations. Comment envoyer un message? C'est simple, regardons cet extrait.
curl -s \
-X POST \ https://api.telegram.org/bot<token>/sendMessage \
-d text="A message from your bot" \
-d chat_id=65535 \ | jq .
Où chat_id est l'information sauvegardée auparavant.
J'espère que ça aide.