radio-t / Rt Bot
Мета-репо для движения "создай своего бота"
Stars: ✭ 129
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Rt Bot
Languagepod101 Scraper
Python scraper for Language Pods such as Japanesepod101.com 👹 🗾 🍣 Compatible with Japanese, Chinese, French, German, Italian, Korean, Portuguese, Russian, Spanish and many more! ✨
Stars: ✭ 104 (-19.38%)
Mutual labels: podcast
Awesome Amazon Seller
A curated list of tools and resources for Amazon sellers.
Stars: ✭ 117 (-9.3%)
Mutual labels: podcast
Crawler Detect
🕷 CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent
Stars: ✭ 1,549 (+1100.78%)
Mutual labels: bots
Python and the web
Build Bots, Scrape a website or use an API to solve a problem.
Stars: ✭ 114 (-11.63%)
Mutual labels: bots
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+8082.17%)
Mutual labels: bots
Poddycast
Podcast app made with Electron, lots of ❤️ and ☕️
Stars: ✭ 111 (-13.95%)
Mutual labels: podcast
Botacspro Bot Auto checkout Flashsale Shopee Promo
Bot Auto Checkout Flashsale Shopee Promo (Botacs Pro)
Stars: ✭ 107 (-17.05%)
Mutual labels: bots
Botbuilder Java
The Microsoft Bot Framework provides what you need to build and connect intelligent bots that interact naturally wherever your users are talking, from text/sms to Skype, Slack, Office 365 mail and other popular services.
Stars: ✭ 127 (-1.55%)
Mutual labels: bots
Awesome Podcasts
🎙 Curated podcasts for designers, developers, product managers, entrepreneurs and hustlers
Stars: ✭ 116 (-10.08%)
Mutual labels: podcast
Slack Block Builder
Lightweight, no-dependency JavaScript library for creating Slack Block Kit UIs, with a builder syntax, inspired by SwiftUI.
Stars: ✭ 129 (+0%)
Mutual labels: bots
Jstoxml
JavaScript object to XML converter (useful for RSS, podcasts, GPX, AMP, etc)
Stars: ✭ 127 (-1.55%)
Mutual labels: podcast
Мета-репо для движения «создай своего бота»
Боты для чата подкаста Радио-Т
- Каждый бот представляет из себя полностью законченный микросервис с единой точкой входа
/event
-
/event
вызывается для любого сообщения черезPOST
с телом{text: сообщение, username: id пользователя, display_name: имя пользователя}
(json) - Бот может на это реагировать 2мя способами:
- вернуть 417 (Expectation Failed) если ему нечего сказать на сообщение
- вернуть 201 и body
{text: сообщение, bot: имя/id бота}
(json). Техт может быть markdown. EOL должны быть представлены как строки\n
(в json должно быть\\n
). Заголовок Content-Type в ответе должен бытьapplication/json
. В чат текст сообщения вставляется инлайном после имени бота, поэтому если в сообщении есть сложная разметка (например таблицы), то стоит начать сообщение с\n\n
- Бот оформляется как контейнер с прилагаемым docker-compose.yml, для запуска которого должно хватить
git clone ... && docker-compose up -d
- Бот (внутри контейнера) слушает на порту
8080
- Бот может вызывать внешние сервисы, если есть такая необходимость.
- Нежелательно тянуть за собой внешние зависимости, типа баз данных, редисов и прочего.
- На запрос бот должен ответить за какое-то фиксированное время. Предлагаемый максимум 5 сек.
- Бот не получит след. сообщения пока не ответит на предыдущее.
- Бот можно писать на всем, чем хотите/умеете. Однако, результат должен быть разумен по размеру контейнера и используемым ресурсам.
- Бот должен быть полностью собираемым вашим Dockerfile. Не надо коммитить собранные бинарники и/или jar и прочее в этом роде.
- UPD: После разговора с авторами решили добавить
GET /info
(200) с ответом{author: name, info: blah, commands: [xx, yyy]}
- UPD: Бот не будет получать свои собственные сообщения
- UPD: Для бота должен быть определен конфиг в файле
bot-spec.yml
. Он используется для автоматического тестирования бота.
Идеи для полезных и забавных ботов
- ведение псевдо-разумной дискуссии по варианту сири/алексы/гугла
- ответы на узкие вопросы, типа "какая погода в Москве сегодня"
- функции поиска по подкасту (шоунотам и логам)
- все остальное, что можете придумать
Идеи для вредных ботов, которые не будут приняты
- разные бессмысленные гифки, особенно "анимационные"
- болтливые боты, которые реагируют на все, или слишком многое
- те, которые падают на ошибки и вместо того, что задумал автор, показывают эти ошибки в чат.
- разговаривающие матом или другим "крутым" слэнгом
- которые делают тоже самое, что и другие, уже реализованные боты
Зачем вам это надо?
- для развлечения
- для добавления в чат чего-то полезного
- для славы и почета :) Мы расскажем о каждом вашем боте который будет принят и поощрим авторов, как минимум добрым словом.
Как в этом поучаствовать?
- посмотреть на то, что сделали другие
- почитать что пишут
- сделать PR со своим ботом в отдельном каталоге. Это хозяйство должно собираться и подниматься локально, через compose build + up
- в этом PR не забыть изменить
etc/nginx.conf
иdocker-compose.yml
для вашего бота - Приложить README.md для своего бота
- Не забыть определить конфиг
bot-spec.yml
.
Как проверить бот в реальной жизни?
- Ваш бот будет установлен на https://bot.radio-t.com
- Можно убедиться, что он зарегистрирован сделав
GET
на https://bot.radio-t.com/list - Можно к нему обратиться, послав
POST
на https://bot.radio-t.com/api/:botname/event и это прийдет в ваш /event - Или послать
GET
на https://bot.radio-t.com/api/:botname/info и это прийдет в ваш /info
> http POST https://bot.radio-t.com/api/hello/event text=Привет username=user123 display_name=Вася
HTTP/1.1 201 Created
Connection: keep-alive
Content-Length: 31
Content-Type: application/json;charset=UTF-8
Date: Thu, 10 Nov 2016 19:46:38 GMT
Server: nginx
Strict-Transport-Security: max-age=63072000; includeSubdomains; preload
{
"bot": "hello",
"text": "Hello!"
}
- Проверить как это работает end-to-end можно и нужно в тестовом чатике
- UPD: запустить весь проект можно локально через
run_local.sh
в корне проекта. Доступен он будет на https://localhost.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].