Всем привет, пишу бота на java для telegram. Бот почти готов и его в принципе можно уже загружать на сервер, чтобы он работал, но встала проблема с username.
Проблема вот в чем, в тг, по юзернейму можно вызвать человека, но так же по юзернейму можно пригласить в чат/на канал. Как можно определить тип юзернейма, чтобы бот понимал, чат это, канал или юзер?
Пробовал так: message.getEntities().get(0).getType();
но он на любой юзернейм выдает ответ: mention
Если кто знает, подскажите плз, можно ли решить данную проблему?
Дмитрий: Ну поэтому и спрашиваю, немного не понимаю как реализовать это.
Вот при получении сообщения, мы можем, к примеру через регулярные выражения найти юзернейм, но тогда у нас будет просто строка, а со строкой работают только стандартные java методы.
тогда можно сделать так: message.getChat().isGroupChat();
что по сути немного глупо, потому как мы выясняем с помощью этого, является ли данное сообщение - сообщением из простого чата.
И вот, уже третью неделю бьюсь над этим вопросом, никак решения найти не могу.
private_tm: смотри, приходит сообщение "приходи сюда @username", чтобы определить, что скинул человек в сообщении нужно пользоваться либо регулярными выражениями, но тогда найденный результат будет строковым, либо я хз. Нет метода, который определяет по юзернейм чей он. Даже в json если смотреть, там можно определить юзернейм от кого отправлено, юзернейм чата, в который отправляли, и тип (ссылка/юзернейм/хэштег), но конкретно, чтоб по присланному юзернейму определить чей это юзернейм (чата/канала/юзера) я не знаю как.