Как написать игрового Telegram-бота в домашних условиях

Однажды мы решили, что нам нужно сделать бота. Бот должен был давать логические задачи в групповом чате в Telegram «Развиваем логику», закреплять их на то время, пока её решают, не давать новую, пока ответ кого-то из участников не наберёт десять (потом снизили до пяти) плюсов, а также вывешивать топ наиболее успешных решателей задачек.

1414

Мы ограничились composer, библиотекой telegram-bot-sdktelegram-bot-sdk можно сказать заброшенный проект, они 2 года не добавляли новые фичи из Telegram Bot API, а там много что появилось.
Вот эта либа получше https://github.com/TelegramBot/Api но и там не все фичи реализованы, многое сам дописывал. Полных библиотек наверное и нету.

4

Это совсем не значит, что если там чего-то нет, это нельзя использовать. Например, в ней не добавили возможность закреплять сообщения и ограничивать пользователя на сутки. Но мы всё равно вызываем эти методы так, будто они там есть (хоть phpstorm на это и ругается), и они работают. Можете скачать и убедиться сами.

1

Возможно, там и больше функционала, но вот это точно никуда не годится:
$bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
Передавать ассоциативный массив, как это реализовано у нас, намного понятнее и удобнее. А с этой библиотекой придётся мусорить переменными по всему коду, если не хотите оставлять null, false или true магическими переменными, о назначении которых вы забудете на следующий день.

1