Ich habe telegram_bot verwendet und versucht, die groupChat-ID zu erhalten, um Benachrichtigungen an den Gruppenchat zu senden, weiß aber nicht, welche Methoden ich dafür verwenden muss.
Um die Chat-ID zu erhalten, verwende ich message.chat.id, wenn der Bot am Chat teilgenommen hat, aber die ich zum Abrufen der Gruppen-Chat-ID verwenden muss, kann / nicht finden
telegram
telegram-bot
Roman Podpryatov
quelle
quelle
Antworten:
Gehen Sie wie folgt vor, um die Gruppenchat-ID zu erhalten:
Fügen Sie der Gruppe den Telegramm-BOT hinzu.
Holen Sie sich die Liste der Updates für Ihren BOT:
Ex:
Suchen Sie nach dem "Chat" -Objekt:
Dies ist ein Beispiel für die Antwort, wenn Sie Ihren BOT einer Gruppe hinzufügen.
quelle
getUpdates
Anfrage zurückkehrt ,{"ok":true,"result":[]}
auch wenn ich versuche paar Nachrichten an die Gruppe und Erwähnung bietet über zu senden@
und einige zufälligen „Befehle“/my_id
,/start
,/help
. Irgendwelche Ideen, was zu tun ist? - UPDATE: OK, das Entfernen des Bots aus der Gruppe und das Hinzufügen des Bots zurück haben dieses Problem behoben (auch die Chat-ID in der Gruppe wurde gedruckt). Es sieht so aus, als ob während der Gruppenerstellung kein Bot hinzugefügt werden kann.Hier ist die Sequenz, die für mich funktioniert hat, nachdem ich einige Stunden gekämpft habe:
Angenommen, der Botname lautet my_bot .
1- Fügen Sie den Bot zur Gruppe hinzu.
Gehen Sie zur Gruppe, klicken Sie auf Gruppenname, klicken Sie auf Mitglieder hinzufügen, suchen Sie im Suchfeld nach Ihrem Bot wie folgt: @my_bot, wählen Sie Ihren Bot aus und klicken Sie auf Hinzufügen.
2- Senden Sie eine Dummy-Nachricht an den Bot.
Sie können dieses Beispiel verwenden:
/my_id @my_bot
(Ich habe einige Nachrichten ausprobiert, aber nicht alle Nachrichten funktionieren. Das obige Beispiel funktioniert einwandfrei. Vielleicht sollte die Nachricht mit / beginnen.)
3- Gehen Sie zur folgenden URL:
https://api.telegram.org/botXXX:YYYY/getUpdates
Ersetzen Sie XXX: JJJJ durch Ihren Bot-Token
4- Suchen Sie nach "chat": {"id": - zzzzzzzzzz,
-zzzzzzzzzz ist Ihre Chat-ID (mit dem negativen Vorzeichen).
5- Testen: Sie können das Senden einer Nachricht an die Gruppe mit einer Locke testen:
Wenn Sie Schritt 2 verpassen, gibt es kein Update für die gesuchte Gruppe. Auch wenn mehrere Gruppen vorhanden sind, können Sie in der Antwort nach dem Gruppennamen suchen ("title": " group_name ").
Hoffe das hilft.
quelle
/
like/test something
beginnt, getUpdates glücklich macht.Ab März 2020 einfach:
Beim Beitritt wird eine JSON-Datei ausgegeben, in der sich Ihre Chat-ID unter message.chat.id befindet .
Stellen Sie sicher, dass Sie anschließend @RawDataBot aus Ihrer Gruppe entfernen.
quelle
Nach Mitte 2018:
1 :) Lade @getidsbo oder
@RawDataBot
deine Gruppe ein und erhalte deine Gruppen-ID im Feld "Gesendete Chat-ID".2 :) Verwenden Sie einen inoffiziellen Messenger wie Plus Messenger und sehen Sie Ihre Gruppen-ID in den Gruppen- / Kanalinformationen.
Vor Mitte 2018: (nicht verwenden)
1: Gehe zu ( https://web.telegram.org )
2: Gehe zu deinem Gorup und finde deinen Link zu Gorup ( https://web.telegram.org/#/im) ? p = g154513121 )
3: Kopiere diese Zahl nach g und setze ein (-) davor
-154513121
4: Sende deine Nachricht an Gorup
bot.sendMessage(-154513121, "Hi")
Ich habe jetzt getestet und arbeite wie ein Zauber
quelle
After mid-2018
Methode vorübergehend .Auf diese Weise können Sie die Chat-ID erhalten.
Senden Sie im privaten Chat mit Ihrem Bot eine zufällige Nachricht. Sie werden diese Nachricht später suchen.
Holen Sie sich Ihr API-Token von bot_father:
XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY
Stellen Sie dann in Ihrem Browser eine Anfrage mit dieser URL:
Die Anfrage gibt eine JSON-Antwort zurück. Suchen Sie im JSON-Text Ihre
random message
und erhalten Sie die Chat-ID in diesem Objekt.quelle
Mit Python und Telethon ist es sehr einfach, eine Chat-ID zu erhalten. Diese Lösung ist am besten für diejenigen geeignet, die mit der Telegramm-API arbeiten.
Wenn Sie kein Telethon haben, führen Sie Folgendes aus:
Wenn Sie keine registrierte App mit Telegramm haben, registrieren Sie eine: Der Link lautet wie folgt: https://my.telegram.org/
Führen Sie dann den folgenden Code aus:
Möglicherweise möchten Sie eine Nachricht an Ihre Gruppe senden, damit die Gruppe oben in der Liste angezeigt wird.
quelle
Sie können die Gruppen-ID auf die gleiche Weise abrufen. Es wird im Nachrichtentext als angezeigt
message.chat.id
und ist normalerweise eine negative Zahl, bei der normale Chats positiv sind.Gruppen-IDs und Chat-IDs können nur aus einer empfangenen Nachricht abgerufen werden. Es sind keine Anrufe zum Abrufen aktiver Gruppen usw. verfügbar. Sie müssen sich die Gruppen-ID merken, wenn Sie die Nachricht empfangen und im Cache oder ähnlichem speichern.
quelle
Erstellen Sie einen Bot oder setzen Sie ihn wie folgt ein:
hat Zugriff auf Nachrichten
anscheinend unabhängig davon, wie alt / neu die Telegrammgruppe ist:
Füge der Gruppe erneut einen Bot hinzu
Erstellen Sie eine Skriptdatei und führen Sie ein
getUpdates
Methodenbeispiel aus:"chat":{"id":-1001202656383,"title"
Hoffe das hilft (HTH)
quelle
Der Bot erhält die folgende Nachricht, die von einer Telegrammgruppe stammt, in der ein Bot gleichzeitig existiert:
Daten nach Bedarf extrahieren
/* Inhalt
quelle
IMHO der beste Weg , dies zu tun , wird unter Verwendung von Telethon, aber wenn man bedenkt , dass die Antwort von Apadana irreparabel veraltet ist, werde ich die Arbeitslösung hier schreiben:
Dieses Snippet gibt Ihnen die ersten
10
Chats in Ihrem Telegramm.Annahmen:
telethon
undnest_asyncio
installiertapi_id
undapi_hash
von my.telegram.orgquelle
quelle