Как работает бот в Телеграмме найди секреты твоих подруг

Содержание

Бот ответит на вопрос о каком-либо явлении, предмете или человеке.

Шма, что такое нейросеть

Шма, кто такой Айзек Азимов

Шма, кто такая Алиса

Прямой диалог с ботом

Поговорите с ботом используя прямое обращение Шма, .

Шма, как твои дела?

Шма, что делаешь?

Бросок монетки

Бот подбрасывает монетку и рассказывает что выпало.

Шма, брось монетку

Шма, кинь монетку

Шма, подбрось монетку

Выбор из нескольких вариантов

При активации команд бот поможет сделать случайный выбор.

Шма, Алиса или Сири?

Шма, Айфон или Андроид?

Шма, выбери кот или собака?

Выбор случайного участника чата

При активации команды бот выберет случайного участника чата и расскажет действие

Шма, кто сегодня покупает биткоин?

Шма, кто сегодня пойдет со мной в кино?

Пара дня

Бот выберет двух случайных людей из чата, они образуют пару ❤️ на несколько часов.

Шма, выбери пару

Совместимость

Бот поможет определить вашу совместимость с кем-то из участников чата. Для активации команды напишите «Совместимость» ответом на сообщение того пользователя, с кем вы хотите проверить совместимость.

Инфаметр

Команда позволяет оценить какую-либо информацию в процентах

Шма, инфа что у меня будет хороший день

Шма, инфа роботы захватят мир

Карма пользователя

Покажет вашу карму, уровень адекватности и другие данные. Вы можете использовать + или — на сообщениях участников чата, чтоб изменить их карму.

Шма, покажи карму

Шма, мой профиль

Умения бота

Присылает изображение и описание случайной команды из этого списка

Шма, что ты умеешь?

Показать кота

Бот отправит случайную фотографию с котом к вам в чат

Шма, покажи кота

Шма, скинь котика

Показать собаку

Бот отправит случайную фотографию с собакой к вам в чат

Шма, покажи собаку

Шма, покажи собачку

Шма, скинь собаку

Шма, скинь песика

Узнать погоду

Бот отправит информацию о влажности, ветре и погоде в каком-либо городе

Шма, какая погода в Москве

Шма, погода в Рускеале

Игра «Крокодил»

Бот может провести в вашем чате игру «Крокодил». После запуска команды бот загадает в личные сообщение слово и вы должны объяснить его участникам вашего чата. Тот, кто отгадал — объясняет следующим. За отгаданное слово Шма отдаст небольшой приз.

Шма, играем в крокодила

Игра в кости

Сыграйте с ботом на монетки в кости. При вызове команды бот бросает кости.

Шма, играем в кости

Дуэли в чатах

Вы можете нападать на участников чата. Дуэль будет активирована, если ответить на сообщение пользователя словом «Дуэль». Нападая на пользователя вы можете отнять у него несколько монет. Сила в бою зависит от вашей кармы, количества сообщений и случайного значения.

ответ на сообщение пользователя: Дуэль

Рыбалка в чате

Вы можете рыбачить прямо в чате. Рыбача в чате, вы можете поймать самые интересные виды рыб в водоёме вашего чата и получить за поимку приятные бонусы. Успех в рыбалке зависит от вашей кармы, времени суток и погоды за окном.

Мини-игра “Бар”

Команда 18+
Ежедневно вы можете получать бонус х2 к награде в дуэлях и на рыбалке. Для этого в баре нужно заказывать напитки и следовать за подсказками в чате.

Шма, хочу выпить

Еще по теме:  Что такое дропы в Телеграмме

Шма, начинаем пить

Свадьбы в чате

Вы можете заключить брак в чате. Для заключения брака вам нужно ответить на сообщение того, кому делаете предложение одним из вариантов ниже.

ты выйдешь за меня?

Турнир героев

Вы можете участвовать в турнире героев внутри чата. Для участия в турнире используйте команду ниже или ознакомьтесь с полным описанием мини-игры

Шма, турнир героев

Отключение мини-игр

Вы можете отключить мини-игры в чате. Это может быть нужно, если в вашем чате обсуждаются серьезные темы или какие-то пользователи очень часто используют мини-игры. Команда отключит следующие функции: Рыбалку, Дуэли, Свадьбы, Крокодила, Игру в кости.

Шма, отключи игры

Шма, выключи игры

Шма, включи игры

Топ пользователей по карме

Бот покажет топ пользователей с самой большой кармой в чате. Им точно можно доверять 🙂

Шма, кто самый крутой?

Топ пользователей по отрицательной карме

Бот покажет топ пользователей с отрицательной кармой в чате. Доверять им не стоит.

Шма, топ плохишей

Шма, кто самый плохой?

Топ самых богатых пользователей в чате

Бот покажет топ самых богатых пользователей. Грабить их в дуэлях настоятельно не рекомендуем 🙂

Шма, топ богачей

Шма, кто самый богатый?

Топ самых воинственных пользователей в чате

Бот покажет топ пользователей по количеству побед в дуэлях

Шма, топ дуэлянтов

Шма, кто самый сильный?

Топ самых общительных пользователей в чате

Бот покажет топ пользователей, которые каждый день общались в чате. Они делают ваш чат живым и активным.

Шма, топ посещаемости

Шма, кто часто в чате?

Продолжить фразу

Бот может продолжить какую либо вашу фразу или рассказ при помощи нейросети GPT-2

Шма, продолжи сегодня Алиса пошла погулять и увидела

Шма, продолжи кто не работает — тот

Шма, продолжи лучшая в мире еда — это

Шма, продолжи британские ученые выяснили что

Нейроистории

Бот расскажет вам историю которую сгенерировала нейросеть GPT-2

Шма, история про Алису

Шма, расскажи историю про то, как мы писали код

Шма, расскажи про Незнайку в Париже

Увеличить активность бота

При активации команды бот увеличивает свою активность в чате на 20%

Шма, увеличь активность

Уменьшить активность бота

При активации команды бот уменьшает свою активность в чате на 20%

Шма, уменьши активность

Установить максимальную активность

При активации команды бот устанавливает свою активность на 100% и реагирует на каждое сообщение в чате

Шма, максимальная активность

Установить минимальную активность

При активации команды бот устанавливает свою активность на 20%

Шма, минимальная активность

Лента чата и статистика

При помощи этих команд можно узнать историю вызовов команды «Кто сегодня?» и посмотреть краткую информацию о чате.

Шма, что с чатом?

Активация болталки

При активации команды бот начнет реагировать на все сообщения в чате и что-либо отвечать с вероятностью, которую вы задали командами выбора активности.

Отключение болталки (Тихий режим)

При активации команды бот не будет реагировать на все сообщения в чате и что-либо отвечать. Бот продолжит считать карму пользователей, и реагировать при прямом обрещении: Шма, .

Приветствия новых участников

Включает или отключает режим приветствия новых пользователей в чате и отображение их кармы при добавлении в чат.

Шма, включи приветствия

Шма, отключи приветствия

Администрирование команд

Включает или отключает режим администрирования команд. В этом режиме только администраторы чата смогут вызывать команды активности и управления ботом.

Шма, включи контроль команд

Шма, отключи контроль команд

Шма, выключи контроль команд

Удаление сообщений из базы

Если вы хотите удалить какое-либо сообщение из тех, что запомнил бот, используйте reply на сообщение которое хотите удалить с этой командой:

Включение и отключение кармы в вашем чате

Команда включает или отключает режим кармы в вашем чате. При отключении кармы бот больше не будет реагировать на + или — и изменять карму участников чата

Шма, включи карму

Шма, отключи карму

Шма, выключи карму

Номер чата

Бот присылает номер вашего чат, его можно использовать для активации PRO режима или для обращения в поддержку

Источник: shmalala.com

Как написать telegram-бота на python с помощью библиотеки telebot

Как написать telegram-бота на python с помощью библиотеки telebot

Установка и настройка

Для начала давайте скачаем сам python. Сделать это можно на официальном сайте. Не забудьте поставить галочку add to PATH во время установки! После установки python’a нам понадобится хороший редактор кода. На помощь приходит компания JetBrains со своим бесплатным PyCharm. Мы уже близко, осталось скачать библиотеку telebot. Для этого заходим в командную строку и пишем:

Еще по теме:  Как ищменить чат в Телеграм

pip install pytelegrambotapi

Если всё прошло успешно, мы можем продолжать!

VPN

Думаю все знают о блокировки telegram в России и единственным решением как всегда остаётся vpn. Лично я рекомендую NordVPN.

Bot Father

В поиске telegram находим Bot Farher’a и создаем своего бота с помощью команды /newbot. Затем вводим имя и юзернейм. Обратите внимание, что юзернейм должен оканчиваться на bot!

Пишем telegram-бота на python с помощью библиотеки telebot часть 1

Как вы видите нам выдали специальный api токен, с помощью которого вы сможете управлять своим ботом (в моём случае это: 776550937:AAELEr0c3H6dM-9QnlDD-0Q0Fcd65pPyAiM). Свой токен Вы можете запомнить, но я рекомендую его записать.

Код

Настал момент, которого ждали все. Открываем PyCharm и создаем новый проект.

Тут рекомендую поставить всё как у меня (название, конечно можно изменить). После создания проекта, давайте создадим файл, в котором будет наш код. Кликните правой кнопкой по папке с вашем проектом, затем New → Python File. Отлично, начнем писать код. Импортируем библиотеку telebot, с помощью:

import telebot

Теперь нужно создать переменную bot. На самом деле имя переменной может быть каким угодно, но я привык писать bot.

bot = telebot.TeleBot(‘ваш токен’)

Напишем декоратор bot.message_handler(), с помощью которого наш бот будет реагировать на команду /start. Для этого в круглых скобках пишем commands=[‘start’]. В итоге у нас должно получиться это:

Если Вы попробуете запустить своего бота (ПКМ->Run), то у вас ничего не выйдет. Во первых в конце кода мы должны прописать bot.polling(). Это нужно для того, чтобы бот не выключился сразу, а работал и проверял, нет ли на сервере нового сообщения. А во вторых наш бот если уж и будет проверять наличие сообщений, то всё равно ничего ответить не сможет. Пора это исправлять! После нашего декоратора создаем функцию start_message, которая будет принимать параметр message (название функции может быть любым). Далее давайте реализуем отправку сообщения от самого бота. В функции пропишем bot.send_message(message.chat.id, ‘Привет, ты написал мне /start’). Смотрите, что у Вас должно получиться:

Отлично, наш бот работает! Чтобы он отвечал не только на команды, но и на сообщения, создадим новый декоратор bot.message_handler(), а в круглые скобочки напишем content_types=[‘text’]. Вообще существует множество видов контента, к примеру location, photo, audio, sticker и т.д. Но нам же нужно отвечать на текст, верно? Поэтому создаём функцию send_text, принимающую параметр message. В функции пропишем условие:

Если текст сообщения будет равен «Привет», то бот отвечает «Привет, мой создатель», а если текст сообщения будет равен «Пока», то бот ответит «Прощай, создатель». Тут думаю всё понятно. Но вы скорее всего задались вопросом, а если пользователь пропишет «привет», ну или «пРиВет», как быть в этой ситуации? Всё достаточно просто! В условии, после message.text напишите функцию .lower(), а в тексте все заглавные буквы замените на строчные. Теперь наш бот отвечает не только на «привет», но и на «ПривеТ», и даже «пРиВеТ».

Вот что у вас должно получиться:

Отлично, с текстом мы разобрались, но как же отправить к примеру стикер? Всё просто! У каждого стикера есть свой id, соответственно зная id мы сможем его отправить. Получить id стикера можно двумя способами. Первый (простой) — через специального бота «What’s the sticker id?»

Ну и второй способ, для тех, кто не ищет лёгких путей. Создаем новый декоратор bot.message_handler(), вот только в скобочки пишем content_types=[‘sticker’]. Далее всё как обычно. Создаем функцию, принимающую параметр message, а вот в ней пропишем print(message). Запускаем бота.

Смотрите, как только я отправил стикер, он сразу же вывел информацию в консоль, и в самом конце будет наш id стикера (file_id). Давайте сделаем так, чтобы когда пользователь отправил боту «я тебя люблю», то бот ему ответил стикером. Создавать новый декоратор не нужно, мы просто допишем условие, которое было до этого. Вот только вместо bot.send_message() пропишем bot.send_sticker(), а вместо текста напишем id стикера.

Еще по теме:  Как добавить быстрые ответы в часы в Телеграмм Apple watch

Поздравляю, всё получилось! Думаю как отправить аудио, фото, и геолокацию, вы разберетесь сами. Я же хочу показать вам, как сделать клавиатуру, которую бот покажет вам при старте. Это уже будет сделать сложнее. Создаем переменную keyboard1, в которую запишем telebot.types.ReplyKeyboardMarkup(). Эта функция вызывает клавиатуру. Далее создадим ряды, но помните, что рядов может быть не больше 12! Для того, чтобы их создать, пишем keyboard1.row(). В круглые скобочки запишите всё что хотите, лично я напишу «Привет» и «Пока». Теперь, чтобы вызвать клавиатуру, допишем reply_markup=keyboard1 к функции отправки сообщения при старте. Вот, что у вас должно получиться:

Вы видите, что клавиатура какая-то большая. Чтобы это исправить, нужно просто в ReplyKeyboardMarkup() прописать True. Ну а если вы хотите, чтобы клавиатура скрывалась, как только пользователь нажал на нее, то напишите еще один True. Подробнее прочитать, что означают эти True вы можете в официальной документации.

keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)

Ну а на этом всё! Конечно, это не все возможно ботов в telegram, но основные возможности я вам показал. Спасибо за внимание.

Что такое message?

Наверное многие, кто писал бота по моей предыдущей статье задались вопросом, что такое message и почему к примеру, чтобы отправить сообщение мы должны указать message.chat.id в параметрах функции send_message? Для того, чтобы узнать это давайте выведем message в консоль:

Теперь когда мы вводим команду /start, наш бот присылает огромное кол-во информации. Все, что мы сейчас получили — это ответ в формате json. Json — это простой формат для хранения структурированных данных. Все выводится в формате: ‘ключ’: значение. Давайте посмотрим на то, что получил я:

< ‘content_type’:’text’, ‘message_id’:573, ‘from_user’:< ‘id’:687595402, ‘is_bot’:False, ‘first_name’:’Dmitry’, ‘username’:’dimagorovtsov’, ‘last_name’:’Gorovtsov’, ‘language_code’:’ru’ >, ‘date’:1565206363, ‘chat’:< ‘type’:’private’, ‘last_name’:’Gorovtsov’, ‘first_name’:’Dmitry’, ‘username’:’dimagorovtsov’, ‘id’:687595402, ‘title’:None, ‘all_members_are_administrators’:None, ‘photo’:None, ‘description’:None, ‘invite_link’:None, ‘pinned_message’:None, ‘sticker_set_name’:None, ‘can_set_sticker_set’:None >, ‘forward_from_chat’:None, ‘forward_from’:None, ‘forward_date’:None, ‘reply_to_message’:None, ‘edit_date’:None, ‘media_group_id’:None, ‘author_signature’:None, ‘text’:’/start’, ‘entities’:[ ], ‘json’:< ‘message_id’:573, ‘from’:< ‘id’:687595402, ‘is_bot’:False, ‘first_name’:’Dmitry’, ‘last_name’:’Gorovtsov’, ‘username’:’dimagorovtsov’, ‘language_code’:’ru’ >, ‘chat’:< ‘id’:687595402, ‘first_name’:’Dmitry’, ‘last_name’:’Gorovtsov’, ‘username’:’dimagorovtsov’, ‘type’:’private’ >, ‘date’:1565206363, ‘text’:’/start’, ‘entities’:[ < ‘offset’:0, ‘length’:6, ‘type’:’bot_command’ >] > >

К примеру из всей этой информации мы хотим получить id чата, из которого я отправлял сообщение. Для этого обратимся к ключу chat.

print(message.chat)
687595402, ‘title’: None, ‘all_members_are_administrators’: None, ‘photo’: None, ‘description’: None, ‘invite_link’: None, ‘pinned_message’: None, ‘sticker_set_name’: None, ‘can_set_sticker_set’: None>

Смотрите, у ключа chat есть еще несколько ключей: first_name, last_name, username… и у каждого из них есть свои значения. Теперь обратимся к ключу id:

print(message.chat.id)

Как вы видите для того чтобы получить нужное значение необходимо просто записать название ключей через точку. А теперь смотрим на ответ от сервера:

687595402

Все идет как надо! Мы получили id чата, собственно как и хотели! А теперь получим имя отправителя. Тут, как вы заметили нужно использовать ключ from_user.

print(message.from_user)
687595402, ‘is_bot’: False, ‘first_name’: ‘Dmitry’, ‘username’: ‘dimagorovtsov’, ‘last_name’: ‘Gorovtsov’, ‘language_code’: ‘ru’>

Теперь достанем значение у ключа first_name:

print(message.from_user.first_name)

Ну вот и все! За пару секунд мы смогли получить id чата и мое имя в telegram. И еще раз, для тех кто не понял:

Чтобы получить значение ключа first_name, нам нужно сначала обратиться к ключу chat, а только потом уже к first_name!

Теперь смотрите, для того, чтобы отправить сообщение в какой-либо чат нам необходимо указать несколько параметров в функцию send_message. Первый параметр — это chat_id, собственно сам id чата. Второй — text, текст сообщения. И как вы догадались, вместо того, чтобы писать message.chat.id, мы можем написать свои данные! Вот так можно прислать сообщение самому себе, если указать в параметрах свой id:

bot.send_message(, ‘Текст сообщения’)

Ну а когда мы пишем message.chat.id, мы подразумеваем, что бот отправит сообщение в чат, из которого его вызвали.

Заключение

Ну а на этом всё! Надеюсь вы поняли как получать данные от сервера, обрабатывать их и использовать где нужно. Спасибо за внимание.

Источник: bookflow.ru

Рейтинг
( Пока оценок нет )
Загрузка ...