Nach dem Erstellen von Telegramm-Bot, Zugriff und Admin diesen Bot Kanal. Wie erhalte ich die Liste der Mitglieder oder Ereignisse, wenn Nutzer diesem Kanal beitreten?Telegram-Bot-Ereignis, wenn Benutzer sich dem Kanal anschließen
Antwort
Sie wissen nicht, welche Toolkit oder Bibliothek Sie Ihren Bot zu programmieren verwenden, aber nehmen wir an, dass Sie diese Bibliothek verwenden:
https://github.com/akalongman/php-telegram-bot/
In diesem Fall gibt es einen eingebauten Befehl, das tut genau das, was Sie wollen:
Es ist süchtig neue Chat Mitglieder Veranstaltungen. Wenn der Bot sich anmeldet, wird es eine "Hi there" Nachricht geben. Wenn ein anderer Benutzer dem Chat beitritt, wird ein "Hi $ membername" angezeigt.
Sie Informationen zu einem Mitglied einer Chat bekommen können die getChatMember Methode: https://core.telegram.org/bots/api#getchatmember
In PHP-Telegramm-Bot-Bibliothek, die Bot speichert IDs der Mitglieder, die in einem Chat beigetreten sind (ich denke, dass seit der bot eingegeben) in der user_chat Tabelle (wieder unter der Annahme, dass Sie eine MySQL-Datenbank verwenden, um Informationen zu speichern, da die pHP-Telegramm-bietet Bibliothek schlägt)
- einen Roboter in Telegramm erstellen
- erlauben Roboter Gruppen über Botfather beizutreten
- Roboter Gruppe/Kanal hinzufügen und diese Adresse Administrator
- Nutzung fördern:
https://api.telegram.org/bot<botapitoken>/getChatMember?chat_id=<@channelusername>&user_id=<user_id>
Telegram Bot API Webseite: Verwenden Sie diese Methode, um Informationen über ein Mitglied eines Chats zu erhalten. Gibt bei Erfolg ** ein ** 'ChatMember'-Objekt zurück. Auf der anderen Seite enthält ein 'ChatMember'-Objekt Informationen über ** ein ** Mitglied eines Chats. Es scheint also nicht zu funktionieren. – Mowji
@Mowji ist ein Offline-Weg zu khow Benutzer ist der Gruppe beigetreten oder nicht. –
Ziemlich enttäuscht über die aktuellen Antworten, also werde ich eine aktualisierte verlassen (Stand: Februar 2018) Antwort, die erklärt, wie dies zu tun mit der Telegram API selbst, sowie mit dem Framework, das ich verwende, Telegraf for Node.
Die Telegram API ist sowohl sehr leistungsfähig, als auch ziemlich einfach, soweit APIs gehen. Wenn Sie die Abfragemethode verwenden, um Updates zu erhalten, und nicht websockets, die ein ganz anderes Problem sind, ist es sehr einfach zu überprüfen, ob jemand zu einer Gruppe oder einem Kanal hinzugefügt wurde.
Die API-Methode getUpdates
gibt ein Array mit Update
Objekten zurück, die alle möglichen Informationen enthalten, einschließlich gesendete Nachrichten, Inline-Abfragen und neue Chat-Mitglieder. Um neue Chat-Mitglieder zu bekommen, müssen Sie einfach auf update.message.new_chat_members
zugreifen, die eine Reihe neuer Benutzer enthalten wird. Als Referenz können Sie in der API-Dokumentation here nachsehen.
Um die Update-Objekte im Browser oder mit curl zu holen, müssen Sie lediglich eine GET- oder POST-Anfrage an https://api.telegram.org/botYOUR-BOT-TOKEN/getUpdates senden. Dann suchen Sie einfach nach messages->new_chat_members
. Wenn Sie das Telegraf-Bot-Framework mit NodeJs verwenden, können Sie die Methode bot.on
mit dem Ereignis new_chat_members
verwenden.
Beispiel:
bot.on('new_chat_members', (ctx) => console.log(ctx.message.new_chat_members))
Ich weiß, das vor einiger Zeit gefragt wurde, aber ich hoffe, dass diese anderen Menschen hilft, zu suchen.
die beste Antwort, danke Watzon – poerror
- 1. Wann sollte man sich dem Namen anschließen und wann nicht?
- 2. anschließen
- 3. xcodebuild kann dem Simulator nicht anschließen
- 4. Kanal api GAE Kanal geschlossen sofort nach dem Öffnen
- 5. Asp.net-Anwendung an Telefoninfrastruktur anschließen
- 6. Bot reagiert nicht auf andere Benutzer auf Facebook Kanal
- 7. MVC5 hängt an MapSignalR wenn nach AppPool Zyklen wieder anschließen
- 8. Joomla-Benutzer dem aktuellen Benutzer zuweisen
- 9. Devise "Bestätigungs-Token ist ungültig", wenn sich der Benutzer anmeldet
- 10. IE Textfeldbreite ändert sich, wenn Benutzer etwas Text eingibt
- 11. Schienen, Benutzer, der sich nach dem Bearbeiten des Profils abmeldet?
- 12. Wie Erweiterungsmethoden anschließen
- 13. R an Quickbooks anschließen
- 14. Matlab an Tensorflow anschließen
- 15. Deaktivieren Sie die Registrierungsschaltfläche, wenn der Benutzer sich anmeldet
- 16. Wie wird der Sicherheitsstempel aktualisiert, wenn der Benutzer sich abmeldet?
- 17. Wählen Sie mit Kanal <- <- Kanal
- 18. PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync Duplizierter Kanal
- 19. ContextSessionSecurityToken wird überschrieben, wenn sich der zweite Benutzer anmeldet
- 20. Twilio ip messaging, wie man sich vom Kanal abmeldet
- 21. Drittanbieter-Thread an vm anschließen, wenn jni verwendet wird
- 22. Verwenden Sie unterschiedliche Sitzung, wenn Benutzer sich anmeldet mehrfach
- 23. Funktioniert GeoIP, wenn sich der Benutzer in einem Mobilfunknetz befindet
- 24. So entfernen Sie das Anmeldedialogfeld, wenn sich der Benutzer anmeldet?
- 25. Überprüfen Sie mehrere Bedingungen, wenn sich ein Benutzer anmeldet
- 26. Kanal `git auf dem Server` Anrufe durch PHP
- 27. Erkennen, wenn ein Benutzer einen Kanal mit Hubot verlässt oder betritt
- 28. Fax an eine Website anschließen
- 29. zu ODBC-Datenquellen in Visual Studio anschließen
- 30. Mehrere NSViewControllers an eine Feder anschließen
Funktioniert es mit Kanälen oder nur mit Gruppen? –