получить телефон пользователя

Python Telebot – Abfrage der Telefonnummer des Benutzers

Hallo zusammen! Eigentlich ist die Essenz des Problems im Titel des Beitrags angegeben: wie man das Telefon eines Benutzers mit Python und Telebot-Bibliothek zu bekommen. Let’s figure it out 😉

Unten finden Sie ein Beispiel für ein funktionierendes Jahr, das Ihnen hoffentlich helfen wird 🙂 Wenn du Fragen hast, kannst du sie gerne an email oder Telegram stellen.

import telebot #Connected the Telebot library - to work with Telegram
from telebot import types #Verbundene Add-ons
import config #Angeschlossen die Bibliothek Config, mit deren Hilfe wir das Token nicht im Code des Programms ;) sondern in der Datei config.py speichern können. Wichtig: diese Datei muss sich im gleichen Verzeichnis wie der Code befinden!
bot = telebot.TeleBot(config.token) #Verbinden des Tokens
@bot.message_handler(commands=['number']) #Deklariert eine Verzweigung, um mit dem number Befehl zu arbeiten
def phone(message):
keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) #Tastatur anhängen
button_phone = types.KeyboardButton(text="Telefon senden", request_contact=True) #Bestimmen Sie den Namen der Schaltfläche, die dem Benutzer angezeigt wird
keyboard.add(button_phone) #Hinzufügen dieser Schaltfläche
bot.send_message(message.chat.id, 'Telefonnummer', reply_markup=keyboard) #Duplizieren Sie mit einer Nachricht, dass der Benutzer nun seine Telefonnummer an den Bot sendet (nur für den Fall, aber es ist nicht notwendig).
@bot.message_handler(content_types=['contact']) #Deklariert den Zweig, in dem wir die Logik für den Fall schreiben, dass der Benutzer sich entscheidet, die Telefonnummer zu senden :)
def contact(nachricht):
if message.contact is not None: #Wenn das gesendete Kontakt Objekt nicht null ist
print(message.contact) #Kontaktdaten in unserem Panel anzeigen. Und im Allgemeinen kann man sie zum Beispiel speichern oder etwas anderes tun.

Speziell für Sie – ein Video mit einer visuelleren Anleitung:

Wie Sie sehen können – alles ist sehr, sehr einfach 🙂
Vielen Dank für Ihre Aufmerksamkeit!

P.S. Auf meinem Youtube-Kanal stellte einer meiner Abonnenten eine interessante Frage: Wie kann man die Tastatur ausblenden, nachdem man eine Telefonnummer gesendet hat? Ich wusste keine Antwort auf die Frage 🙁 Aber einen Tag später gab mir der Abonnent eine Lösung, die ich hier teile:

Tastatur = types.ReplyKeyboardRemove()
bot.send_message(message.chat.id, msg, reply_markup=keyboard)

P.P.S. Vor nicht allzu langer Zeit tauchte eine Frage auf – wie kann man z.B. die Telefonnummer, die man von einem Benutzer erhalten hat, in verdaulicher Form irgendwo in einer Gruppe versenden? Das ist ganz einfach:
1. Fügen Sie einen Bot hinzu, der die erhaltenen Informationen an die gewünschte Gruppe mit Administrator-Rechten senden soll
2. Nehmen Sie im Code des Bots die folgenden Änderungen an der Funktion def contact(message) vor:

@bot.message_handler(content_types=['contact'])
def contact(message):
Wenn message.contact nicht None ist:
print(nachricht.kontakt)
print(type(nachricht.kontakt))
print('Name: ' + str(message.contact.first_name))
text = 'Benutzer: ' + message.contact.first_name + ': Telefon: ' + message.contact.phone_number
bot.send_message(id_channel, text)

Eigentlich können Sie alles ausgeben, was Sie wollen – verwenden Sie einfach den Namen des erforderlichen Feldes im Schema:

'phone_number': '***', 'first_name': '***', 'last_name': '***', 'user_id': '***', 'vcard': '***'

wobei die Sternchen die vollständigen Kontaktangaben des Nutzers verbergen.

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut