2017-09-20 1 views
1

i auf einen Teil der Telegramm bietet Codierung mit Python arbeitete:erhalten Informationen über die Mitglieder der Gruppe in Python-Telegramm-bietet

def ok(bot,update): 
    print update.message 


handler = MessageHandler(Filters.all,ok) 
updater.dispatcher.add_handler(handler) 

updater.start_polling() 
updater.idle() 

wenn ich eine Uhr direkt an meinen Bot gesendet wurde ich Mitglied Benutzername drucken kann mit :

print update.message["chat"]["username"] 

Ergebnis:

Druck update.message

, wenn sie direkt gesendet Nachricht an Roboter:

{'delete_chat_photo': False, 'new_chat_photo': [], 'from': {'username': u'un_detectable', 'first_name': u'Sina \U0001f3a9', 'is_bot': False, 'id': 207541477, 'language_code': u'en-US'}, 'text': u'salaaam', 'entities': [], 'channel_chat_created': False, 'new_chat_members': [], 'supergroup_chat_created': False, 'chat': {'username': u'un_detectable', 'first_name': u'Sina \U0001f3a9', 'type': u'private', 'id': 207541477}, 'photo': [], 'date': 1505902164, 'group_chat_created': False, 'message_id': 297, 'new_chat_member': None} 

und im Chat-Feld Benutzername ist vorhanden und wie gesagt i

drucken werden kann, aber wenn ich eine Uhr in der Gruppe gesendet wurde (mein Bot perm ist admin) ich kann nicht Zugriff auf Mitglied

Ergebnis Benutzername:

print update.message 

, wenn eine Nachricht in Chat-Gruppe gesendet:

{'delete_chat_photo': False, 'new_chat_photo': [], 'from': {'username': u'un_detectable', 'first_name': u'Sina \U0001f3a9', 'is_bot': False, 'id': 207541477, 'language_code': u'en-US'}, 'text': u'salaaaam', 'entities': [], 'channel_chat_created': False, 'new_chat_members': [], 'supergroup_chat_created': False, 'chat': {'type': u'supergroup', 'id': -1001139540291L, 'title': u'test'}, 'photo': [], 'date': 1505902183, 'group_chat_created': False, 'message_id': 201, 'new_chat_member': None} 

und im Chat-Feld Benutzername ist dosent exist Ich möchte, wenn einer der Membrs schrieb die Nachricht in der Gruppe, speichern Sie meinen Bot ihm Nachricht + Benutzername in der Datenbank aber ich kann nicht auf den Benutzernamen der Gruppenmitglieder zugreifen! kann mir jemand helfen?

Antwort

0

In Privaten Nachricht, chat gleich user, das ist, warum Sie username des chat sowie das from_user Feld sehen können. In einer Gruppe bezieht sich chat auf die Gruppe und from_user bezieht sich auf den Benutzer, der die Nachricht gesendet hat. Wenn Sie die Benutzernamen der Benutzer anmelden möchten, sollten Sie sie in update.message.from_user.username finden.

1

Ihre Gruppe einen öffentlichen Link wie @AwesomeTeleBot benötigt, kann sie vom Schöpfer in Gruppe bearbeiten Config.

+0

warum nicht ich habe diese Option in Gruppe bearbeiten Feld? – s1n4

+0

nur, Gruppe löschen hat existieren – s1n4

+0

meine Mittelwert Chat-Gruppe nicht kanalisieren, privat oder öffentlich für die Kanäle nur – s1n4

Verwandte Themen