All Projects → ffb255 → botter

ffb255 / botter

Licence: MIT license
🤖 Build Amazing Telegram Bots with PHP

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to botter

chatbot
kbqa task-oriented qa seq2seq ir neo4j jena seq2seq tf chatbot chat
Stars: ✭ 32 (+33.33%)
Mutual labels:  chatbot
jovo-starter-web-chatwidget
Fully customizable open source chat widget that can be added to any website.
Stars: ✭ 20 (-16.67%)
Mutual labels:  chatbot
Xpersona
XPersona: Evaluating Multilingual Personalized Chatbot
Stars: ✭ 54 (+125%)
Mutual labels:  chatbot
osschat
Apache Open Source Software Chat BOT
Stars: ✭ 115 (+379.17%)
Mutual labels:  chatbot
Citrine
Kawaii Chatbot Plugin for BotBone
Stars: ✭ 17 (-29.17%)
Mutual labels:  chatbot
tf2-transformer-chatbot
Transformer Chatbot in TensorFlow 2 with TPU support.
Stars: ✭ 94 (+291.67%)
Mutual labels:  chatbot
keras-chatbot-web-api
Simple keras chat bot using seq2seq model with Flask serving web
Stars: ✭ 51 (+112.5%)
Mutual labels:  chatbot
go-aida
[DEPRECATED] wechat robot based on wechat-go(wechat web api)
Stars: ✭ 71 (+195.83%)
Mutual labels:  chatbot
How-To-Build-A-Chatbot
Learn to build a facebook chatbot using Python and Flask
Stars: ✭ 15 (-37.5%)
Mutual labels:  chatbot
bot-dialogflow
A BotUI web app connected to DialogFlow
Stars: ✭ 47 (+95.83%)
Mutual labels:  chatbot
Hutoma-Conversational-AI-Platform
Hu:toma AI is an open source stack designed to help you create compelling conversational interfaces with little effort and above industry accuracy
Stars: ✭ 35 (+45.83%)
Mutual labels:  chatbot
FAQ-Bot-QQ
一个基于Mirai框架的Q群问答机器人
Stars: ✭ 30 (+25%)
Mutual labels:  chatbot
instachatbot
Simple framework for building Instagram chat bots with menu driven interface
Stars: ✭ 17 (-29.17%)
Mutual labels:  chatbot
facebook-messenger
Go (GoLang) package for Facebook Messenger API and Chat bot
Stars: ✭ 62 (+158.33%)
Mutual labels:  chatbot
Triton
GitHub notifications tracker for Telegram. Pushes GitHub notifications to Telegram.
Stars: ✭ 12 (-50%)
Mutual labels:  telegram-bots
zhamao-framework
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
Stars: ✭ 99 (+312.5%)
Mutual labels:  chatbot
rasa-agent-bot-demo
A sample Implementation of agent bot APIs in chatwoot using rasa
Stars: ✭ 21 (-12.5%)
Mutual labels:  chatbot
brain
Brain is a system to model, create and manage the knowledge base of chatbots based on AIML technology.
Stars: ✭ 18 (-25%)
Mutual labels:  chatbot
hellsnakebot
🤖About A fully customizable bot built with discord.js
Stars: ✭ 14 (-41.67%)
Mutual labels:  chatbot
LenoxBot
🖥️ LenoxBot is a Discord bot that offers many cool new features to your Discord server!
Stars: ✭ 218 (+808.33%)
Mutual labels:  chatbot

Packagist Packagist Version GitHub issues

Botter is a PHP library, designed to build powerful Telegram bots in the fastest and easiest way possible.

require_once "vendor/autoload.php";

use ffb255\Botter\BotterFactory;
use ffb255\Botter\Updates\Events\On;

$config = [
     'token' => "YOUR_BOT_TOKEN"
];
$botter = BotterFactory::create($config);

On::text("/start", function() use ($botter) {
    $botter->reply("Hello user!");
});

$botter->listen();

Features

  • Conversations
  • Custom Request Builder
  • Multi Level Cache Storage (Redis, JsonFile and etc..)
  • Readable Codes
  • Incoming update AutoComplete in IDEs (Full OOP) alt text

Installation

Using Composer:
composer require ffb255/botter

Documentation

Check Wiki Pages for documentation.
You can find Botter methods with their examples in wiki.

Conversation

When it comes to chatbots, you probably don't want to react to single keywords, but instead, you might need to gather information from the user, using a conversation. Let's say that you want your chatbot to provide a rich user onboarding experience for your application users. In the onboarding process, we are going to ask the user for their first name and email address - that's a perfect fit for conversations! (More on Conversation Wiki)

$config = [
     'token' => "YOUR_BOT_TOKEN"
];
$botter = BotterFactory::create($config);

class SignupConversation extends Conversation {
     public function start()
     {
          $this->say("Welcome, Whats your name?");
          $this->next("askEmail");
     }

     public function askEmail()
     {
          $this->name = $this->getAnswer()->getText();
          $this->say("Whats your email?");
          $this->next("finishSignup");
     }

     public function finishSignup()
     {
          $name = $this->name;
          $this->say("Thanks {$name}! Your account has been created.");
          $this->finish();
     }
}

On::text("/signup", function() use($botter){
     $botter->startConversation(new SignupConversation);
});

$botter->listen();

Why did I make Botter?

The goal was to simplify the process of making Telegram bots for my projects. ~2 years after I built Botter, I decided to publish it as an Open Source library.
Of course, there are still some problems in Botter that I am constantly trying to fix them. If you find a problem, you can tell me in Issues.

License

Botter is free software distributed under the terms of the MIT license.

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