Бот ответит на вопрос о каком-либо явлении, предмете или человеке.
Шма, что такое нейросеть
Шма, кто такой Айзек Азимов
Шма, кто такая Алиса
Прямой диалог с ботом
Поговорите с ботом используя прямое обращение Шма, .
Шма, как твои дела?
Шма, что делаешь?
Бросок монетки
Бот подбрасывает монетку и рассказывает что выпало.
Шма, брось монетку
Шма, кинь монетку
Шма, подбрось монетку
Выбор из нескольких вариантов
При активации команд бот поможет сделать случайный выбор.
Шма, Алиса или Сири?
Шма, Айфон или Андроид?
Шма, выбери кот или собака?
Выбор случайного участника чата
При активации команды бот выберет случайного участника чата и расскажет действие
Шма, кто сегодня покупает биткоин?
Шма, кто сегодня пойдет со мной в кино?
Пара дня
Бот выберет двух случайных людей из чата, они образуют пару ❤️ на несколько часов.
Чат бот Вконтакте и Телеграмм
Шма, выбери пару
Совместимость
Бот поможет определить вашу совместимость с кем-то из участников чата. Для активации команды напишите «Совместимость» ответом на сообщение того пользователя, с кем вы хотите проверить совместимость.
Инфаметр
Команда позволяет оценить какую-либо информацию в процентах
Шма, инфа что у меня будет хороший день
Шма, инфа роботы захватят мир
Карма пользователя
Покажет вашу карму, уровень адекватности и другие данные. Вы можете использовать + или — на сообщениях участников чата, чтоб изменить их карму.
Шма, покажи карму
Шма, мой профиль
Умения бота
Присылает изображение и описание случайной команды из этого списка
Шма, что ты умеешь?
Показать кота
Бот отправит случайную фотографию с котом к вам в чат
Шма, покажи кота
Шма, скинь котика
Показать собаку
Бот отправит случайную фотографию с собакой к вам в чат
Шма, покажи собаку
Шма, покажи собачку
Шма, скинь собаку
Шма, скинь песика
Узнать погоду
Бот отправит информацию о влажности, ветре и погоде в каком-либо городе
Шма, какая погода в Москве
Шма, погода в Рускеале
Игра «Крокодил»
Бот может провести в вашем чате игру «Крокодил». После запуска команды бот загадает в личные сообщение слово и вы должны объяснить его участникам вашего чата. Тот, кто отгадал — объясняет следующим. За отгаданное слово Шма отдаст небольшой приз.
Шма, играем в крокодила
Игра в кости
Сыграйте с ботом на монетки в кости. При вызове команды бот бросает кости.
Шма, играем в кости
Дуэли в чатах
Вы можете нападать на участников чата. Дуэль будет активирована, если ответить на сообщение пользователя словом «Дуэль». Нападая на пользователя вы можете отнять у него несколько монет. Сила в бою зависит от вашей кармы, количества сообщений и случайного значения.
ответ на сообщение пользователя: Дуэль
Рыбалка в чате
Вы можете рыбачить прямо в чате. Рыбача в чате, вы можете поймать самые интересные виды рыб в водоёме вашего чата и получить за поимку приятные бонусы. Успех в рыбалке зависит от вашей кармы, времени суток и погоды за окном.
Мини-игра “Бар”
Команда 18+
Ежедневно вы можете получать бонус х2 к награде в дуэлях и на рыбалке. Для этого в баре нужно заказывать напитки и следовать за подсказками в чате.
Шма, хочу выпить
Шма, начинаем пить
Свадьбы в чате
Вы можете заключить брак в чате. Для заключения брака вам нужно ответить на сообщение того, кому делаете предложение одним из вариантов ниже.
ты выйдешь за меня?
Турнир героев
Вы можете участвовать в турнире героев внутри чата. Для участия в турнире используйте команду ниже или ознакомьтесь с полным описанием мини-игры
Шма, турнир героев
Отключение мини-игр
Вы можете отключить мини-игры в чате. Это может быть нужно, если в вашем чате обсуждаются серьезные темы или какие-то пользователи очень часто используют мини-игры. Команда отключит следующие функции: Рыбалку, Дуэли, Свадьбы, Крокодила, Игру в кости.
Шма, отключи игры
Шма, выключи игры
Шма, включи игры
Топ пользователей по карме
Бот покажет топ пользователей с самой большой кармой в чате. Им точно можно доверять 🙂
Шма, кто самый крутой?
Топ пользователей по отрицательной карме
Бот покажет топ пользователей с отрицательной кармой в чате. Доверять им не стоит.
Шма, топ плохишей
Шма, кто самый плохой?
Топ самых богатых пользователей в чате
Бот покажет топ самых богатых пользователей. Грабить их в дуэлях настоятельно не рекомендуем 🙂
Шма, топ богачей
Шма, кто самый богатый?
Топ самых воинственных пользователей в чате
Бот покажет топ пользователей по количеству побед в дуэлях
Шма, топ дуэлянтов
Шма, кто самый сильный?
Топ самых общительных пользователей в чате
Бот покажет топ пользователей, которые каждый день общались в чате. Они делают ваш чат живым и активным.
Шма, топ посещаемости
Шма, кто часто в чате?
Продолжить фразу
Бот может продолжить какую либо вашу фразу или рассказ при помощи нейросети GPT-2
Шма, продолжи сегодня Алиса пошла погулять и увидела
Шма, продолжи кто не работает — тот
Шма, продолжи лучшая в мире еда — это
Шма, продолжи британские ученые выяснили что
Нейроистории
Бот расскажет вам историю которую сгенерировала нейросеть GPT-2
Шма, история про Алису
Шма, расскажи историю про то, как мы писали код
Шма, расскажи про Незнайку в Париже
Увеличить активность бота
При активации команды бот увеличивает свою активность в чате на 20%
Шма, увеличь активность
Уменьшить активность бота
При активации команды бот уменьшает свою активность в чате на 20%
Шма, уменьши активность
Установить максимальную активность
При активации команды бот устанавливает свою активность на 100% и реагирует на каждое сообщение в чате
Шма, максимальная активность
Установить минимальную активность
При активации команды бот устанавливает свою активность на 20%
Шма, минимальная активность
Лента чата и статистика
При помощи этих команд можно узнать историю вызовов команды «Кто сегодня?» и посмотреть краткую информацию о чате.
Шма, что с чатом?
Активация болталки
При активации команды бот начнет реагировать на все сообщения в чате и что-либо отвечать с вероятностью, которую вы задали командами выбора активности.
Отключение болталки (Тихий режим)
При активации команды бот не будет реагировать на все сообщения в чате и что-либо отвечать. Бот продолжит считать карму пользователей, и реагировать при прямом обрещении: Шма, .
Приветствия новых участников
Включает или отключает режим приветствия новых пользователей в чате и отображение их кармы при добавлении в чат.
Шма, включи приветствия
Шма, отключи приветствия
Администрирование команд
Включает или отключает режим администрирования команд. В этом режиме только администраторы чата смогут вызывать команды активности и управления ботом.
Шма, включи контроль команд
Шма, отключи контроль команд
Шма, выключи контроль команд
Удаление сообщений из базы
Если вы хотите удалить какое-либо сообщение из тех, что запомнил бот, используйте reply на сообщение которое хотите удалить с этой командой:
Включение и отключение кармы в вашем чате
Команда включает или отключает режим кармы в вашем чате. При отключении кармы бот больше не будет реагировать на + или — и изменять карму участников чата
Шма, включи карму
Шма, отключи карму
Шма, выключи карму
Номер чата
Бот присылает номер вашего чат, его можно использовать для активации PRO режима или для обращения в поддержку
Источник: shmalala.com
Как быстро создать тест в Телеграм. QuizBot
МОЖНО СДЕЛАТЬ
ИСПОЛЬЗУЕТСЯ В:
«Бот позволяет создавать тесты, я их составляю, отправляю ученикам и уже бот вместо меня проверяет знания по пройденной теме или прочитанному произведению. Тестирование проходит онлайн, но в классе. Как только завершается опрос, дети тут же видят результат», — Павел Кузьмин.
Прежде, чем создавать бот, проведите подготовительную работу. Составьте список вопросов и вариантов ответов. Проверьте на ошибки.
Затем создавайте первый вопрос с вариантами ответов (их может быть до 10). Бот позволяет отправить сообщение с текстом или медиа, которое покажется перед вопросом. Когда тест будет готов, нажмите команду «/done» (достаточно кликнуть на команду в сообщении бота), чтобы опубликовать его.
Когда тест будет готов, нужно указать ограничения по времени. Бот будет отправлять новый вопрос, после того как истечет время на размышление. Длинные промежутки рекомендуется использовать, если тест требует сложных расчётов (например, решения математических задач). Для простых вариантов, как правило, достаточно 10-30 секунд на вопрос.
После того, как вы всё это выполнили, появляется ссылка на уже оформленный тест. Её можно кинуть в общий чат или персонально собеседнику в Телеграм. Результат виден сразу. И проверять задание будет QuizBot.
Кстати, есть тут и соревновательный элемент. У вас, как у автора теста, будет доступ к статистике — кто быстрее всех дал больше правильных ответов.
У нас получился тест из пяти вопросов, пройти его можно по ссылке (клик).
Источник: sdelano.media
Как создать бота для Telegram | Бот отправляющий изображения котов
Боты для телеграмма сейчас весьма популярны, давайте и мы научимся делать своих.
ЯП который мы будем использовать, как всегда Python. Напишем простого бота, который по заданной команде будет присылать нам котиков, а еще добавим кнопку, чтобы не вводить команды каждый раз. Вот рабочий пример (надеюсь к моменту твоего прочтения, я его еще буду хостить).
И итог того, что должно получиться:
Подготовка
Для начала мы будем исходить из того, что Python3 уже установлен и из командной строки прекрасно работает >_ python и >_ pip. Сидим мы из под Linux или Windows неважно.
Для работы с телеграмом будем использовать эту библиотеку, для установки необходима командная строка с правами администратора.
И ввод одной команды.
pip install python-telegram-bot —upgrade
pip install requests
Не забудем и про добавление команды
Пишем код
В принципе, многое уже и так есть в примерах в репозитории и заново ничего придумывать не надо, мы лишь изменим и дополним то, что уже есть.
И так поехали, берем из примеров простого бота echobot2, который уже умеет отвечать на все сообщения и знает команды /help /start. Отвечалку на все сообщения мы изменим, команды тоже немного поменяем и добавим свою /cat, которая собственно и будет постить котиков :3.
Для начала подставляем ранее полученный токен, необходимый для работы.
Смотрим дальше и видим, что все обработчики в боте (команды, текст и тд) находятся в функции main и добавляются как dp.add_handler
Как вы можете заметить, событие использования команды в чате состоит из двух частей: текст команд и функции, которая вызывается при ее использовании.
По тому же принципу добавим свою команду строкой
dp.add_handler(CommandHandler(«cat», sendcat)), где cat — это команда , sendcat — вызываемая функция при получение данной команды.
Остальные хендлеры трогать не будем, а поменяем лишь вызываемые ими функции.
Так например по умолчанию функция echo отправляет пользователю тот же самый текст что он и прислал.
Изменим отправляемый текст на сообщение об ошибке
Также изменим отправляемый текст на /start и /help
Украшательства закончены. Приступим к котикам :).
Котики у нас будут состоять из двух функций. Первую вы уже видели в хендлере — sendcat, она будет отвечать за отправку, но встает вопрос, а что же нам собственно отправлять? Тут мы будем использовать вторую функцию getcat которая будет отвечает за предоставление ссылок на картинки с котиками, брать которые мы будет с сайта thecatapi. Его апи позволяет получать ссылки на случайные картинки с котами, чем мы и воспользуемся.
Подключаем библиотеку requests и пишим простенькую функцию выдающию ссылки на картинки с котиками. Потом просто вызываем ее в sendcat.
Проверим что получилос. Запускаем наш скрипт, ищем в телеграмме бота по нику, который вы задали ему при создании и. Котики .
Уже неплохо, но что-то все равно не то. Мы отправляем котов не как картинки, а как ссылки, телеграм конечно их подгружает и показывает, но решение так себе. Исправим же это, открываем документацию по работе с апи телеграма для ботов и ищем метод отправки картинок.
Возвращаемся обратно и в функции sendcat заменяем всю строку отправки сообщения на bot.sendPhoto(chat_id=update.message.chat_id, photo=getcat())
Почти все готово, осталось сделать кнопку в чате, чтобы не вписывать постоянно команду вручную.
Использовать мы будем Inline клавиатуру (прямо в чате которая), она состоит из двух функций: первая отвечает за отрисовку (markup), вторая за обработку нажатий (callback).
Снова идем в примеры, которые даются авторами библиотеки, вытаскиваем вот это и переделываем под себя.
Кое-что доподключаем:
В итоге получается
Исходный код
import requests from telegram import InlineKeyboardButton, InlineKeyboardMarkup, ReplyKeyboardRemove, ReplyKeyboardMarkup, KeyboardButton from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackQueryHandler import logging # Enable logging logging.basicConfig(format=’%(asctime)s — %(name)s — %(levelname)s — %(message)s’, level=logging.INFO) logger = logging.getLogger(__name__) # Define a few command handlers. These usually take the two arguments bot and # update. Error handlers also receive the raised TelegramError object in error. def start(bot, update): «»»Приветствие»»» update.message.reply_text(‘Привет, я бот, который очень любит котиков :3nНапиши мне /cat и я поделюсь ими с тобой’) def help(bot, update): «»»Сообщение для помощи с командами»»» update.message.reply_text(‘Чтобы получить котика напиши /cat’) def echo(bot, update): «»»На любой текст отвечаем ошибкой»»» update.message.reply_text(«Неизвестная команда :(«) def error(bot, update, error): «»»Log Errors caused by Updates.»»» logger.warning(‘Update «%s» caused error «%s»‘, update, error) def getcat(): »’Получение ссылки на картинку с котиком»’ try: r = requests.get(‘http://thecatapi.com/api/images/get?format=src’) url = r.url except: url = get_cat() print(‘Error with cat parsing’) pass return url def sendcat(bot, update): «»»Отправка котиков»»» bot.sendPhoto(chat_id=update.message.chat_id, photo=getcat(), reply_markup=draw_button()) def draw_button(): keys =[[InlineKeyboardButton(‘?Еще котика. ‘, callback_data=’1’)]] return InlineKeyboardMarkup(inline_keyboard=keys) def get_callback_from_button(bot, update): query = update.callback_query username = update.effective_user.username chat_id = query.message.chat.id message_id = query.message.message_id if int(query.data) == 1: bot.sendPhoto(photo=getcat(), chat_id=chat_id, message_id=message_id, reply_markup=draw_button()) def main(): «»»Start the bot.»»» # Create the EventHandler and pass it your bot’s token. updater = Updater(«СЮДА ВАШ ТОКЕН») # Get the dispatcher to register handlers dp = updater.dispatcher dp.add_handler(CallbackQueryHandler(get_callback_from_button)) dp.add_handler(CommandHandler(«start», start)) dp.add_handler(CommandHandler(«help», help)) dp.add_handler(CommandHandler(«cat», sendcat)) # on noncommand i.e message — echo the message on Telegram dp.add_handler(MessageHandler(Filters.text, echo)) # log all errors dp.add_error_handler(error) # Start the Bot updater.start_polling() # Run the bot until you press Ctrl-C or the process receives SIGINT, # SIGTERM or SIGABRT. This should be used most of the time, since # start_polling() is non-blocking and will stop the bot gracefully. updater.idle() if __name__ == ‘__main__’: main()
F.A.Q
- Q: Т.к бот каждый раз запрашивает картинку, а потом еще и загружает ее в мессенджер, уходит масса времени. Как ускорить выдачу ответов?
- A: Решение — использовать сервера Telegram, как кеш. Сохраняйте при отправке фото их media_id (куда нибудь в бд), чтобы потом можно было быстренько его оттуда вытянуть и отправить.
- Q: А как сделать ребут, админку, оформить тексты т.д ?
- A: Здесь есть отличные сниппеты
- Q: Как осуществить . ?
- A: Документация Telegram bot api, Вики библиотеки
Источник: liberbear.com