Что можно задать боту в Телеграмме

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

«Рыба» кода бота

Сразу запишем функции в «bot.py», которые понадобятся. Предварительно удалите test_message :

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

Каждая функция обернута декоратором, так мы общаемся с Телегармом:

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

Добавление команд в бота

Изначально команды не настроены. Пользователи могут вводить их, но специально меню нет. Для добавления нужно снова написать https://t.me/botfather команду /setcommands . Выберите своего бота и добавьте этот текст:

ChatGPT. Искусственный интеллект — общение. Залетай в телеграм бот @kosmobrain_bot Попробуй сам.


start — Запуск и перезапуск бота
help — Возможности бота
online — Результаты матчей

В ответ получите «Success! Command list updated. /help». Теперь можно перейти в своего бота и проверить:

 Добавление команд в бота

Ответы на команды

Взаимодействие с ботом начинается с команды /start . Нужно поприветствовать и предложить следующий шаг. Эта команда будет возвращать текст с клавиатурой. Точно так же работает и /help .

Добавим обработку этих команд в «bot.py», обновите start_handler help_handler :

Я добавил импорт import app.service as s . В этом модуле клавиатура и функция проверки пользователя. start_handler проверяет есть ли пользователь в кеше или базе данных, и отправляет ему соответствующий текст.

Перед отправкой текста для выбора лиг, я сохранил его будущий id. Получил номер последнего сообщения (это сама команда «start») и добавил 2 пункта: +1 за наш ответ на команду и +1 за само сообщения выбора лиг. Зная id сообщения, его можно редактирвать.

Теперь напишем клавиатуру и get_league_ids в модуль «service».

# fonlinebot/app/service.py from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardMarkup, InlineKeyboardButton from emoji import emojize from config import BOT_LEAGUES, BOT_LEAGUE_FLAGS from database import cache, database as db from app.dialogs import msg MAIN_KB = ReplyKeyboardMarkup( resize_keyboard=True, one_time_keyboard=True ).row( KeyboardButton(msg.btn_online), KeyboardButton(msg.btn_config) ) async def get_league_ids(user_id: str) -> list: «»»Функция получает id лиг пользователя в базе данных»»» leagues = cache.lrange(f»u», 0, -1) if leagues is None: leagues = await db.select_users(user_id) if leagues is not None: leagues = leagues.split(‘,’) [cache.lpush(f»u», lg_id) for lg_id in leagues] else: return [] return leagues

Еще по теме:  Как составлять розыскную Телеграмму

Ответы на команды

КАК СОЗДАТЬ ЧАТ БОТ В ТЕЛЕГРАММЕ. Наполняем Бот командами.

MAIN_KB — основная клавиатура, как на скриншоте выше. Разберем подробнее:

  • ReplyKeyboardMarkup — объект, который создает клавиатуру.
  • Параметр resize_keyboard=True уменьшает ее размер.
  • А с one_time_keyboard=True клавиатура будет скрываться, после использования.
  • .row — метод для группировки кнопок в строку.
  • KeyboardButton(msg.btn_online) и KeyboardButton(msg.btn_config) — кнопки с заданным текстом.

Осталось только добавить текста сообщений в dialogs. Вставьте этот код в класс Messages .

# fonlinebot/app/dialogs.py # . start_new_user: str = «Привет. Я могу сообщать тебе результаты матчей online.» start_current_user: str = «Привет. С возвращением! » «Используй команды или меню внизу для продолжения.» help: str = «»» Этот бот получает результаты матчей за последние 48 часов. Включая режим LIVE. — Что бы выбрать/изменить лиги нажмите «Настройки». — Для проверки результатов нажмите «Онлайн».

Бот создан в учебных целях, для сайта pythonru.com «»»

Выбор, изменение и удаление лиг

Сначала внесем правки в наши вспомогательные модули.

В «dababase» в класс Database добавим новый метод insert_or_update_users .

# fonlinebot/database.py #. async def insert_or_update_users(self, user_id: int, leagues: str): user_leagues = await self.select_users(user_id) if user_leagues is not None: await self.update_users(user_id, leagues) else: await self.insert_users(user_id, leagues) #.

В настройки добавим переменные метрик времени:

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

Как создать в Телеграме чат-бот для ответов на частые вопросы родителей. Инструкция

Педсовет

Фотографии: Unsplash. Иллюстрация: Юлия Замжицкая.

Эта инструкция поможет педагогам меньше чем за час создать простейший чат-бот, который автоматически ответит на 90 процентов родительских вопросов. Он поможет без участия учителя узнать расписание уроков, уточнить домашние задание, посмотреть фото с классных мероприятий и многое другое.

2. Напишите или выберите в меню/newbot — это команда к созданию нового чата.

3. Придумайте и введите название для своего бота — кириллицей или латиницей. Если передумаете, потом его можно будет легко изменить:

4. Затем придумайте юзернейм (он будет отображаться в ссылках). Он должен быть написан латиницей, может содержать цифры и нижнее подчеркивание и обязательно должен иметь окончание bot.

Например, SpravkaBot или spravka_bot.

А еще он должен быть уникальным. Если придуманный вами юзернейм уже занят, придется попотеть.

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

Когда корректный юзернейм будет подобран, вы получите в ответ сообщение с токеном (это секретный ключ-идентификатор бота). Что-то вроде такого:

Скопировать токен можно, кликнув по нему. Дальше он вам еще пригодится.

6. Теперь можно создать короткое описание вашего бота (пользователь будет видеть его, заходят в чат). Выберите/введите команду /setdescription и введите ответ на вопрос «Что умеет этот бот?» (именно так, вместе с этим вопросом, ваше описание увидят пользователи).

7. На этом базовые настройки бота завершены. Если что-то не нравится, всегда можно изменить их через команду /mybots.

10. Теперь можно перейти по ссылке в ваш собственный бот и продолжить настройку уже там. Нажмите на «Запустить», выберите язык.

11. Теперь можно добавлять кнопки: для этого выберите команду «Редактор кнопок», затем — «Добавить кнопку» и введите ее название.

Например «Расписание». Когда необходимые кнопки добавлены, нажмите на «Стоп редактор».

12. Теперь нужно сделать так, чтобы при нажатии на кнопку пользователю автоматически отправлялась нужная информация. Для этого нажмите на кнопку «Редактор постов» в главном меню и выберите кнопку, к которой хотите добавить информацию. Выберите команду «Добавить сообщение».

13. Теперь наберите нужное сообщение или прикрепите файл — например, картинку.

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

14. Еще одна полезная функция — рассылка: можно моментально оповестить всех пользователей бота, например, об изменении в расписании. Чтобы сделать рассылку, нажмите на кнопку «Админ» и выберите команду «Рассылка». Введите сообщение, которое хотите разослать, и нажмите на кнопку «Отправить».

Готово! Теперь бот будет мгновенно отвечать на повторяющиеся вопросы родителей, избавив учителя от головной боли, а их — от досадного ожидания.

Идея инструкции взята из блога Натальи Смарыгиной во Вконтакте.

Материалы по теме:

Если вам нравятся материалы на Педсовете, подпишитесь на наш канал в Телеграме, чтобы быть в курсе событий раньше всех.

Источник: pedsovet.org

Бот обратной связи в Telegram

Сегодня мы расскажем о том, как быстро создать бот обратной связи в Telegram с помощью Livegram Bot. Это будет полезно администраторам каналов, которые хотят получить фидбек и остаться анонимными, компаниям для создания своего небольшого колл-центра и пользователям, которые не хотят заспамить личку множеством чатов.

Еще по теме:  Как в Телеграмме сделать ссылку на канал словом

Создание бота

Запускаем бот, выбираем язык, вводим команду /addbot и отправляем Токен вашего бота. Если все сделано правильно, вы получите сообщение о том, что бот успешно подключен к Livegram и уже готов к работе!

Подключение бота к чату

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

  1. Создайте группу и преобразуйте ее в супергруппу.
  2. Добавьте членов вашей команды, которые будут отвечать на сообщения.
  3. Добавьте вашего бота в супергруппу.

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

Ответы на сообщения

Чтобы ответить на входящие сообщения, нажмите Reply (Ответить) или используйте жест — свайп влево.

Если сообщения некоторых пользователей вам показались нежелательными, вы можете отправить их в бан. Ответьте на сообщение командой /ban для пожизненной блокировки пользователя. Для временного ограничения ответьте командой, например, /ban 2d, где «2d» обозначает количество дней. Также допускаются следующие форматы времени: 24h(часы), 365d(дни) или 12m(месяцы).

Приветственное сообщение

По умолчанию приветственное сообщение, которое получает пользователь, запустивший ваш бот, выглядит так:

Напишите ваш вопрос и мы ответим Вам в ближайшее время.

Вы можете изменить его по своему желанию. Нажмите кнопку «Настроить бот» — «Тексты» — выбор языка — «Изменить тексты» и отправьте боту ваш текст приветствия. Чтобы сохранить изменения, нажмите кнопку «Завершить редактирование».

Рассылка

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

Перейдите в настройки бота, нажмите кнопку «Рассылка», выберите язык, пользователям которого вы хотите отправить сообщения, и отправьте сам пост. Если все верно, введите команду /done. Когда будете готовы отправить рассылку, введите команду /send.

После окончания вы получите отчет о количестве человек, получивших сообщения и заблокировавших бота.

Статистика

Посмотреть отчет о всех входящих сообщениях и ответах можно в разделе «Статистика».

Источник: www.vamtlgrm.com

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