Bevor ich Ihnen eine Antwort gebe, schlage ich vor, dass Sie das first_name Attribut eines Benutzers verwenden. Ein Benutzername ist nicht erforderlich, wenn Sie einen Telegramm-Account haben, aber Sie müssen einen Namen eingeben.
Hier ist ein Codebeispiel dafür, wie ich bekam die first_name Attribut eines Benutzers:
$rawContent = file_get_contents("php://input");
$rawContentArray = json_decode($rawContent, true);
foreach ($rawContentArray as $key => $value) {
if($key === "message"){
foreach ($value as $messagekey => $messagevalue) {
if($messagekey === "chat"){
foreach ($messagevalue as $chatkey => $chatvalue) {
if($chatkey === "first_name"){
$first_name = $chatvalue;
}
}
}
}
}
}
Wenn Sie den Benutzernamen bekommen Sie das gleiche tun können, ersetzen Sie einfach first_name mit Benutzername und eine einfache Prüfung hinzufügen, nachdem Sie $ user_name Wert geben:
Das Problem hier ist, dass Sie einem Benutzer einen Platzhalter oder einen generischen Benutzernamen geben müssen, was ziemlich dumm ist, wenn Sie darüber nachdenken. Sie geben jemandem, der Ihren Bot benutzt, einen Namen. Warum das tun? Aber wenn das ist, was Sie wollen, ersetzen Sie meine "@undefined" mit Ihrem Platzhalter.