web-dev-qa-db-fra.com

Comment obtenir le chat_id d'un canal privé Telegram?

J'utilise curl pour mettre à jour mes chaînes publiques. Ce type de syntaxe:

>curl -X POST "https://api.telegram.org/bot144377327:AAGqdElkZ-77zsPRoAXXXXXXXXXX/sendMessage" -d "chat_id=@MyChannel&text=my sample text"

Mais quel est le chat_id d'un canal privé? Ce n'est pas celui que vous avez dans l'invitation privée.

Parce que maintenant nous pouvons passer un nom d'utilisateur de canal (au format @channelusername) à la place de chat_id dans toutes les méthodes (et au lieu de from_chat_id dans forwardMessage). Mais quel est le @channelusername d'un canal privé que j'administre?

65
aborruso

J'ai trouvé le moyen d'écrire dans les canaux privés.

  1. Vous devriez le convertir en public avec un certain @channelName
  2. Envoyer un message à ce canal via Bot API

    https://api.telegram.org/bot111:222/sendMessage?chat_id=@channelName&text=12

  3. En réponse, vous obtiendrez des informations avec chat_id de votre chaîne.

    {"ok": true, "résultat": {"chat": { "id": -1001005582487, "titre": "Tester la chaîne privée "," type ":" canal "}," date ": 1448245538," message_id ": 7," text ":" 123ds "}}

  4. Maintenant, vous pouvez reconvertir la chaîne en privé (en supprimant le lien de la chaîne) et envoyer un message directement à ce chat_id "-1001005582487"

    https://api.telegram.org/bot111:222/sendMessage?chat_id=-1001005582487&text=12

135
Stas Parshin

Rendre le canal public ne peut pas être fait par utilisateur avec au moins 5 groupes/canaux publics, donc ... problème non résolu. Oui, vous pouvez révoquer l'un d'entre eux, mais pour l'instant, nous ne pouvons pas récupérer l'identifiant du chat d'une autre manière.

revoke

Quelqu'un a-t-il trouvé une solution à ce cas?

mettre à jour

J'ai trouvé une solution folle:

  1. connectez-vous sous votre compte à la version Web de Telegram: https://web.telegram.org
  2. Trouvez votre chaîne. Voir votre url, il devrait être comme https://web.telegram.org/#/im?p=c 1055587116 _ 11052224402541910257
  3. Prenez "1055587116" et ajoutez "-100" comme préfixe.

Alors ... votre identifiant de chaîne sera "-1001055587116". La magie arrive :)

Solution trouvée ici: https://github.com/GabrielRF/telegram-id#web-channel-id

80
Nigrimmist

Le moyen le plus simple consiste à inviter @get_id_bot dans votre conversation, puis à taper:

/my_id@get_id_bot

Dans votre chat

18
Jurgo Boemo

Vous pouvez aussi faire ceci:

Étape 1) Convertissez votre canal privé en canal public

Étape 2) Définir le nom du canal pour ce canal

Étape 3) Vous pouvez alors changer ce canal en privé

Étape 4) Envoi de votre message à l'aide de @NomChannel que vous avez défini à l'étape 3

remarque: pour l'étape 1, vous pouvez changer l'un de vos canaux publics en privé pendant une courte période.

3

Ouvrez le canal privé, puis:


WARNING assurez-vous d'ajouter le préfixe -100 lors de l'utilisation de l'API de Telegram Bot:

  • if l'identifiant du canal est par exemple 1192292378
  • then vous devriez utiliser - 1001192292378
3
Fabio Michelini

Pas besoin de convertir le canal en public puis de le rendre privé.

  1. trouvez l'identifiant de votre canal privé. (Il existe de nombreuses méthodes pour ce faire, voir par exemple this SO answer )

  2. curl -X POST " https://api.telegram.org/botxxxxxx:yyyyyyyyyy/sendMessage " -d "ID_Chat = - 100 CHAT_ID & text = mon exemple de texte "

    remplacez xxxxxx: yyyyyyyyyyy par votre identifiant de bot et remplacez CHAT_ID par l'identifiant de canal trouvé à l'étape 1. Ainsi, si l'identifiant de canal est 1234, il s'agira de chat_id = -1001234.

Terminé!

2
apadana

L'identifiant de votre canal privé est la partie XXXXXX (entre le "p = c" et le trait de soulignement). Pour l'utiliser, il suffit d'ajouter "-100" devant. Donc, si "XXXXXX" est "4785444554" votre identifiant de canal privé "-1004785444554".

1
Peter

L'option que je fais est en utilisant le populaire Plus Messenger sur Android. Le lien Play Store est: https://play.google.com/store/apps/details?id=org.telegram.plus&hl=fr

Vous pouvez cliquer sur la chaîne et dans Informations sur la chaîne, sous le nom du groupe, vous pouvez trouver l'identifiant de la chaîne.

Les identifiants de super groupe et de canal ressembleront à 1068773197 sur plus Messenger. Pour votre utilisation sur l'API, vous pouvez préfixer -100, ce qui en ferait -1001068773197.

0
Habeeb