All Projects → mizoguche → botlin

mizoguche / botlin

Licence: MIT license
Bot framework built with Kotlin

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to botlin

socrates
Socrates is a microframework for building stateful conversational interfaces for Slack in Ruby.
Stars: ✭ 16 (-20%)
Mutual labels:  bot-framework, slack-bot
Slacker
Slack Bot Framework
Stars: ✭ 495 (+2375%)
Mutual labels:  bot-framework, slack-bot
skit
Build slack bots quickly and easily!
Stars: ✭ 45 (+125%)
Mutual labels:  bot-framework, slack-bot
Jbot
Make Slack and Facebook Bots in Java.
Stars: ✭ 1,148 (+5640%)
Mutual labels:  bot-framework, slack-bot
Slick
Slick, a Slack bot in Go
Stars: ✭ 150 (+650%)
Mutual labels:  bot-framework, slack-bot
Urban Bot
🤖 The universal chatbot library based on React. Write once, launch Telegram, Facebook, Slack, ... every messenger with chatbots
Stars: ✭ 223 (+1015%)
Mutual labels:  bot-framework, slack-bot
Intelligo
🤖 Chatbot Framework for Node.js.
Stars: ✭ 347 (+1635%)
Mutual labels:  bot-framework, slack-bot
Slack Machine
A sexy, simple, yet powerful and extendable Slack bot
Stars: ✭ 91 (+355%)
Mutual labels:  bot-framework, slack-bot
Slack Block Builder
Lightweight, no-dependency JavaScript library for creating Slack Block Kit UIs, with a builder syntax, inspired by SwiftUI.
Stars: ✭ 129 (+545%)
Mutual labels:  bot-framework, slack-bot
Go Sarah
Simple yet customizable bot framework written in Go.
Stars: ✭ 188 (+840%)
Mutual labels:  bot-framework, slack-bot
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+14220%)
Mutual labels:  bot-framework, slack-bot
rasa-docker-arm
Rasa Docker image for ARMv7. Runs on a Raspberry Pi.
Stars: ✭ 19 (-5%)
Mutual labels:  bot-framework
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+7180%)
Mutual labels:  bot-framework
slack-metabot
Extract metadata (EXIF) from uploaded files on Slack
Stars: ✭ 15 (-25%)
Mutual labels:  slack-bot
walkiebot
walkiebot opensource
Stars: ✭ 42 (+110%)
Mutual labels:  slack-bot
semantic-release-slack-bot
📦 🚀 A slack bot for semantic-release notifying release statuses
Stars: ✭ 92 (+360%)
Mutual labels:  slack-bot
nestjs-telegraf
🤖 Powerful Nest module for easy and fast creation Telegram bots
Stars: ✭ 300 (+1400%)
Mutual labels:  bot-framework
isolex
Chat bot able to speak natural language and markup, prompt to complete commands, and offer localized help. Configured with schema-validated YAML, features JWT authentication with granular RBAC, and SQL persistence.
Stars: ✭ 15 (-25%)
Mutual labels:  slack-bot
nodejs-bot-platform
Node.js bot and personal assistants platform. Boilerplate, start point, tools, best practices for building bots and personal assistants.
Stars: ✭ 56 (+180%)
Mutual labels:  bot-framework
mfa-monitor
Backendless security monitoring for your MFA enabled services. 🔐
Stars: ✭ 45 (+125%)
Mutual labels:  slack-bot

Botlin

CircleCI

Usage

See mizoguche/botlin-template for example.

Deploy template

Deploy

Configuration example

fun main(args: Array<String>) {
    botlin {
        install(SlackEngine) {
            token =  System.getenv("SLACK_TOKEN")
        }

        install(RedisStorage) {
            uri = URI("redis://localhost:6379")
        }

        install(MessageCommand)
        install(Echo)
        install(Cron)

        intercept<BotMessage> {
            if (it.message == "PING") {
                it.reply("PONG")
            }
        }
    }.start()
}

Description

Goal

Easy to use

  • Readable configuration

Easy to extend

  • You can create your original feature easily
  • You can adopt new web services as BotEngine easily

Main objects

  • BotEngine
    • Providers which receives/sends messages
    • ex. SlackEngine
  • BotMessage
    • Abstract expression of messages
  • BotFeature
    • Realize some useful features
    • ex. Echo, Cron
  • BotPipeline
    • Any objects can flow through BotPipeline
      • BotEngines send BotMessages to BotPipeline
    • Objects flowing through BotPipeline are intercepted from BotFeature or Botlin configuration

License

MIT

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].