Router for chatbot
Project description
Chatrouter is an enhanced router for chatbots and easily integrates with any bot library.
key features
- turned complexity into simplicity.
from:
if user_session == "A":
...
elif user_session == "B":
...
elif user_session == "C":
...
else:
...
to:
chatbot = chatrouter.group(user_session)
r = chatrouter.run(chatbot, msg)
- Readable route.
@chatbot.add_command("call me {my_name}")
# or
chatbot.add_command("call me {my_name} and {my_friend}")
# etc
- case sensitive and insensitive.
default case is insensitive
but you can add strict=True
to a route/command to make it case sensitive.
- public and private command.
command start with "/" and have description is public command, for example:
@chatbot.add_command("/test", description="test command", strict=True)
- invoke callback anywhere.
func = chatrouter.util.get_func("group_name", "command_name")
-
auto generated
/start
and/help
command. -
object storage
chatrouter.data_user
.
installation
pip install chatrouter
quick example
# -*-coding:utf8;-*-
import chatrouter
chatbot = chatrouter.group("test", "this is test bot!")
@chatbot.add_command("call me {name}")
def say_handler(name):
return f"hello {name}, nice to meet you!"
@chatbot.add_command("repeat me {one} and {two}")
def repeat_handler(one, two):
return f"ok {one}.. {two}"
@chatbot.add_default_command()
def default_handler(command):
return f"command {command} not found!"
if __name__ == '__main__':
print(chatrouter.run(chatbot, "/start"))
while True:
try:
i = input("you: ")
r = chatrouter.run(chatbot, i)
print(f"bot: {r}")
except BaseException as e:
print("bot: byebye!")
exit(0)
for more complex example, please open demo/telegram_bot.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chatrouter-1.0.4.tar.gz
(3.9 kB
view details)
File details
Details for the file chatrouter-1.0.4.tar.gz
.
File metadata
- Download URL: chatrouter-1.0.4.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b366d90bc69c5beee87e0a5a6de0e7e26403fb8b0c1cd28daafcc335386a91c |
|
MD5 | 2364de97a2770099184f1077d7be3e52 |
|
BLAKE2b-256 | 2146495ee766ed799016c74214c1fdb459579eeabc445cc6d47e091d7b83dc63 |