Как я могу упомянуть пользователей Telegram без имени пользователя?

Я хочу упомянуть пользователей, даже тех, которыене иметь имя пользователя.

Если пользователь установил имя пользователя, я возвращаюсь

Hi @username

как ответ, но если у пользователя его нет, я не могу этого сделать.

Я пытался использовать уникальный идентификатор пользователя, например,

@5642166

но это не сработало.

Как я могу этого достичь?

4

Решение

Прежде чем дать вам ответ, я действительно предлагаю вам использовать имя атрибут пользователя. Имя пользователя не требуется, если у вас есть учетная запись Telegram, но вы должны ввести имя.

Вот пример кода того, как я получил имя атрибут пользователя:

$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;
}
}
}
}
}
}

Если вы хотите получить имя пользователя, вы можете сделать то же самое, просто замените имя с имя пользователя и добавьте простую проверку после того, как вы дадите $ user_name ценность:

if($user_name !== ''){
$user_name = "@undefined"}

Проблема здесь в том, что вы должны дать пользователю заполнитель или общее имя пользователя, что довольно глупо, когда вы думаете об этом. Вы даете кому-то, кто использует ваш бот имя. Зачем это делать? Но если ты этого хочешь, замени мой «@Undefined» с вашим заполнителем.

-2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]