Бот для создания анонимных виктрин в Телеграмм

Напишем простой Telegram-бот на Python с использованием aiogram, Docker и AWS, предварительно ознакомившись с нужными инструментами.

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

Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.

Настройка

  • свой токен;
  • адрес Telegram API (https://api.telegram.org/bot);
  • ссылку на документацию.

Обязательно сохраните токен, так как это ключ для взаимодействия с ботом.

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

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

Установка Python

Для написания Telegram-бота на Python, нужно установить сам язык. Если вы пользуетесь Windows, скачать Python можно с официального сайта. Версия важна. Нам подойдет Python не ниже версии 3.7. Если же у вас Linux или macOS, то, скорее всего, у вас стоит Python 3.6. Как обновиться, можете почитать здесь.

Чат бот для викторин в Телеграм

Тем, кто только начал изучение этого языка, будет также полезна дорожная карта Python-разработчика.

Установка pip

Это менеджер пакетов. В версиях выше Python 2.7.9 и Python 3.4, а также на macOS/Linux он уже есть. Проверить это можно командой pip —version в терминале. Если же по каким-то причинам он отсутствует, установить его можно при помощи команды:

$ sudo apt-get install python-pip

Установка aiogram

Установить данный фреймворк для Telegram Bot API с помощью pip:

pip install aiogram

Hello, bot!

Давайте напишем простенькую программу приветствия. Для начала следует импортировать библиотеки и создать экземпляры Телеграм бота и диспетчера:

from aiogram import Bot, types from aiogram.dispatcher import Dispatcher from aiogram.utils import executor TOKEN = «ваш токен от бота здесь» bot = Bot(token=TOKEN) dp = Dispatcher(bot)

Теперь напишем обработчик текстовых сообщений, который будет обрабатывать входящие команды /start и /help :

Добавим ещё один обработчик для получения текстовых сообщений. Если бот получит «Привет», он также поздоровается. Все остальные сообщения будут определены, как нераспознанные:

Запускаем Telegram бота, написанного на Python, следующим образом:

if __name__ == ‘__main__’: executor.start_polling(dp)

Примечание Так мы задаём боту непрерывное отслеживание новых сообщений. Если бот упадёт, а сообщения продолжат поступать, они будут накапливаться в течение 24 часов на серверах Telegram, и в случае восстановления бота прилетят ему все сразу.

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

Docker

Сейчас мало кто не слышал про Docker, но если вдруг не слышали — вот хорошая статья. Для нашего проекта потребуется самый простой Dockerfile:

FROM python:3.8 # set work directory WORKDIR /usr/src/app/ # copy project COPY . /usr/src/app/ # install dependencies RUN pip install —user aiogram # run app CMD [«python», «bot.py»]

Каталог проекта должны при этом содержать следующие файлы:

Для локальных тестов достаточно установить Docker (linux, mac, windows), после чего в папке проекта собрать и запустить контейнер с помощью команд:

docker build -t my_app docker run -d my_app

my_app — это просто название нашего контейнера, вместо которого можно использовать другое имя.

-d — специальный флаг, который запускает контейнер в фоне и позволяет дальше работать в терминале. Это называется detached mode.

Еще по теме:  Бот напишет человеку Телеграмм

Деплой на AWS

Прежде всего нам понадобится аккаунт на Docker Hub. Это аналог GitHub, только не с исходниками кода, а с уже созданными контейнерами. Работа с Docker Hub выглядит достаточно просто:

  1. Локально или с помощью пайплайнов собрали контейнер.
  2. Загрузили его на докер хаб.
  3. В любом удобном месте скачали его. Это может быть локальная машина, VPS сервер или облачный провайдер по типу AWS.
  4. Запустили.

Пройдёмся по этим шагам. Везде, где указано , надо вставлять свой юзернейм, использованный при регистрации на докерхабе. Если это ваша первая публикация на докерхаб, для начала потребуется залогиниться с помощью docker login.

docker build -t /my_app

Загружаем его на докерхаб:

docker push /my_app

Для проверки успешности загрузки можете запустить контейнер из Docker Hub с помощью команды:

docker run -d /my_app

Далее загрузим наш контейнер в AWS Elastic Beanstalk. Для этого потребуется аккаунт на AWS. Если его нет, необходимо зарегистрироваться. Вас попросят ввести данные карты для верификации, но переживать не стоит, ведь мы воспользуемся бесплатным годовым триалом. Чтобы поиграться, этого более чем достаточно, а вот если вы захотите вывести проект в продакшен, следует перейти на VPS — это даст больше контроля и гибкости.

  • Переходим в Elastic Beanstalk, на вкладку Applications, и создаём новое приложение:

  • Называем приложение, теги оставляем пустыми:

  • Создаём для приложения environment:

  • Выбираем Worker environment:

  • В качестве платформы выбираем Docker:

  • В пункте Application code нужно загрузить JSON-файл с конфигурацией Docker-образа. Сам файл:

Dockerrun.aws.json < «AWSEBDockerrunVersion»: «1», «Image»: < «Name»: «/my_app», «Update»: «true» >, «Ports»: [ < «ContainerPort»: 5000, «HostPort»: 8000 >] >

  • Создаём окружение:

  • AWS начинает создавать окружение, просто ждём завершения процесса:

  • Если всё прошло успешно, вы увидите индикатор успешного запуска приложения:

Проверяем работу нашего Telegram bot:

Заключение

Поздравляем! Теперь вы знаете, как писать роботов для Telegram на Python.

Бота можно дополнять другими функциями, например, добавить отправку файлов, опрос или клавиатуру.

Кстати, в телеграмме есть аж целых два типа клавиатур:

  1. Классическая RelpyKeyboardMarkup, у которой кнопки располагаются под полем ввода сообщения:
  2. Более современная InlineKeyboardMarkup, которая привязывается к конкретному сообщению:

Но и это полностью рабочий Телеграм-бот на Python: дополните словарём, и получите полноценную беседу. Также можете опробовать функциональность нашего Telegram-бота.

В «настоящих проектах» не обойтись без базы данных. Тут на помощь приходит docker-compose, который позволяет объединить несколько контейнеров в один сервис. Таким образом, например, можно создать приложение и положить его в контейнер, а базу данных, как отдельный сервис, поместить в другой контейнер, и с помощью docker-compose наладить между ними связь.

Также для более серьёзной разработки лучше использовать выделенный виртуальный сервер (VPS): он даёт гораздо больше гибкости и свободы, чем тот же AWS. А самое главное, он более приближён к «боевой» разработке. Схема работы тут будет даже проще, чем с AWS: вам просто нужно установить Docker, спуллить образ с Docker Hub и запустить его.

Следите за новыми постами по любимым темам

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

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

Голосование на ТГ-канале — как создать анонимный опросник и бот для чата

Как сделать опрос в Телеграмме

Интересное в тг

Автор Евгения А. На чтение 5 мин Просмотров 1.7к.

Для поддержания интереса подписчиков необходимо установить диалог с ними – я расскажу, как сделать опрос в «Телеграмме» и привлечь внимание аудитории к группе или каналу.

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

Опрос

Как использовать опросы в «Телеграме»

Я провожу опросы среди моих друзей и знакомых на такие темы, как:

  • музыкальные предпочтения;
  • любимые места для прогулок по столице;
  • интересные книги, которые хотелось бы обсудить;
  • приемлемый уровень заработка;
  • мода и стиль;
  • развлечения.
Еще по теме:  Chrome 112 выйди из Телеграмм

Формат голосований можно менять, используя анкеты с 1 или несколькими вариантами ответов. Целесообразно также добавлять пункт «Другое» на случай, если человек не может выбрать что-либо из представленного перечня. Я рекомендую делать вопросы емкими – без сложных и запутанных формулировок.

Правила и возможности опросов

Создавать опросы имеет право только администратор канала или группы. Функция сейчас доступна как в общих, так и в личных чатах – в новой версии приложения. Пользователям разрешено делать репост онлайн-анкеты на своей странице для повышения активности.

Правила голосования

Участвовать в голосовании может любой владелец аккаунта в «Телеграме». Результаты видны всем. В опросе доступно выбрать любую из предложенных категорий или написать отзыв. Правом остановить голосование и подвести итоги наделен лишь администратор.

Действия с опросами

Управлять опросами можно при помощи внутренних настроек.

Для этого я захожу в интерактивное меню голосования – здесь расположены кнопки, которые позволяют:

  • закрепить список вопросов и ответов;
  • переслать анкету тому или иному пользователю;
  • остановить действие;
  • удалить из ленты событий;
  • копировать ссылку.

Режим викторины

Викторина – это вид соревнования, который подразумевает поиск единственно верного варианта ответа. Выбрать несколько пунктов из предложенного списка здесь не получится. Если пользователь нашел правильное решение, его ждет фейерверк из конфетти.

Викторина

Видимость и количество ответов

Если для предыдущей версии «Опросы 1.0» можно было установить только анонимный режим голосования, то с 2020 г. появилась возможность сделать его видимым для всех пользователей.

Также читайте: Как узнать владельца или его номер телефона в Telegram через Автобот — поиск по номеру авто, по вин коду

Следить за количеством участников могут организаторы сообществ и администраторы. Можно проводить анкетирование с 2 и более вариантами ответов.

Как создать опрос в «Телеграме» в чате или группе

Процедура аналогична для приложений, установленных на смартфонах с ОС Android и iOS.

Перед тем как создать голосование в «Телеграмме», нужно открыть группу или канал в мессенджере и нажать на кнопку с изображением скрепки.

Во всплывшем окне следует выбрать режим «Опрос». Далее следует прописать вопрос и установить количество вариантов ответов – до 9.

На iOS

Приведу пример того, как сделать опрос в «Телеграме» на iPhone, поскольку пользуюсь данной моделью телефона. Для проведения голосования я захожу на мой канал с правами администратора.

Из предложенных опций меню выбираю нужную, заполняю пустые поля новой формы. В завершение подтверждаю действие, тапнув по строчке «Создать».

На iOS

На Android

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

В первом разделе нужно прописать вопрос, а затем – текст с вариантами ответов. Также можно установить режим «Викторина». Для размещения анкеты необходимо нажать на кнопку «Создать».

На Android

На Windows

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

Для создания голосования в программе, установленной на ПК, необходимо перейти в меню на странице ТГ-канала, нажав на кнопку с 3 вертикальными точками наверху в правом углу экрана. Здесь останется лишь выбрать пункт «Создать опрос» и прописать вопросы с 1 или несколькими вариантами ответов.

На ПК

Боты для создания опросов на ТГ-каналах

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

Pollbot

Также читайте: Как пробить человека при помощи Telegram-бота, Глаз Бога и программы-аналоги для отслеживания, что делать, если не работает Carscan Telegram

Далее последовательно нужно прописать варианты ответов, в завершение нажав /done. Перейдя по автоматически сгенерированной ссылке, можно указать группу, в которой будет размещено голосование.

Еще по теме:  Telegram что где когда

Pollbot

Quan

Интерактивного помощника можно найти по имени QuAnBOt. Варианты, которые выбрали пользователи, можно посмотреть после голосования в разноцветном графике.

Меню – интуитивно понятное и легкое в управлении, существуют готовые шаблоны для работы.

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

Quan

Like

Like

Votebot

Перейдя по ссылке, нажимаю в окне диалога кнопку Start. Затем выбираю тип тестирования – анонимное или публичное, ввожу вопрос и варианты ответов – до 10. Подтверждаю действие, отправив запрос /done.

Обзор

Источник: instaguru.online

Открытые голосования, несколько вариантов ответа и режим викторины

С тех пор как мы добавили опросы для групп и каналов, их начали использовать повсеместно и для чего угодно – от выбора еды на обед до организации протестов без лидеров. Сегодня мы расширяем список возможностей, добавляя три новых вида опросов в Telegram.

В опросе виден список проголосовавших

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

Несколько вариантов ответа

Один из способов улучшить любой опрос – дать людям возможность выбирать сразу несколько вариантов ответа. Запланированные на год мероприятия, подборка плейлиста для вечеринки, список любимых фильмов… Во многих случаях одного варианта явно недостаточно.

В опросе можно выбрать несколько вариантов

Об этой функции давно просила наша знакомая, которая увлекается статистикой и всем, что с ней связано. Мы, конечно же, не смогли ей отказать. (К слову, 33% разработчиков, игнорирующих подобные просьбы, почему-то очень любят сыр).

Режим викторины

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

Новый режим викторины в опросах

Кстати, правильные ответы поощряются красивым салютом из конфетти.

Создание опросов

Опросы можно создавать в группах и каналах (мы решили, что два собеседника – это маловато для опроса). Просто выберите в меню группы вариант «Создать опрос», введите вопрос, добавьте варианты ответов и проставьте галочки там, где это необходимо:

Пример викторины с Мэрилин Монро

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

Обводка сообщений

Помимо новых опросов, в приложении появились новые визуальные настройки. Если вам кажется, что обводка сообщений в Telegram слишком угловатая (или, наоборот, слишком круглая), вы можете изменить тип обводки в настройках:

Прогрес-бар загрузки файлов на Android

И на этом всё. Надеемся, впереди нас ждет год, полный полезных обновлений. Оставайтесь на связи!

Последние записи

Менеджер загрузок, обновленное меню вложений, прямые трансляции с помощью сторонних приложений и многое другое

1 год назад

Моментальная прокрутка, календарный вид в «Медиа», заявки на вступление, глобальные темы для чатов на iOS и многое другое

1 год назад

Видеотрансляции, гибкая пересылка, переход между каналами и многое другое

2 года назад

Видеозвонки на 100 зрителей, видеосообщения 2.0, управление скоростью проигрывания видео и многое другое

2 года назад

Анимированные фоны

2 года назад

Групповые видеозвонки и трансляция экрана

2 года назад

Платежи 2.0, отложенные голосовые чаты и новые веб-версии Telegram

2 года назад

Голосовые чаты 2.0: каналы, миллионы слушателей, запись эфиров, инструменты для администраторов

2 года назад

Новые профили, быстрый просмотр медиафайлов и функция «люди рядом» 2.0

3 года назад

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

3 года назад

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

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

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