The terminal is the chat — develop and test your Bot with zero platform setup.
A terminal adapter for ErisPulse. Each line you type in the terminal is emitted as a private message, and the bot's replies are printed back to stdout. Handy for developing and testing handlers without registering a real platform.
- Zero config — no platform account or token needed, install and run
- One line, one message — every line typed in the terminal becomes a private message that triggers command / module handlers
- Replies printed to stdout — the bot's SendDSL replies are printed with a
[Bot]prefix - Standard actions work —
get_user_info/get_self_info/get_friend_listreturn mock data so framework standard actions keep working - Readable rendering — non-text segments (image / voice / file / mention ...) render as readable placeholders
- i18n aware — welcome / goodbye / hint messages follow the framework's
i18nlanguage
pip install ErisPulse-TerminalAdapterRequires ErisPulse >= 2.7.0.
config.toml:
[TerminalAdapter]
bot_id = "terminal_bot"
bot_name = "TerminalBot"
user_id = "terminal_user"
user_name = "User"
prompt = "> "
reply_prefix = "[Bot] "
echo_input = false| Field | Default | Description |
|---|---|---|
bot_id |
terminal_bot |
Bot user ID |
bot_name |
TerminalBot |
Bot nickname |
user_id |
terminal_user |
Mocked user ID (the terminal user chatting with the bot) |
user_name |
User |
Mocked user nickname |
prompt |
> |
Input prompt |
reply_prefix |
[Bot] |
Prefix prepended to each bot reply line (empty for none) |
echo_input |
false |
Echo user input (useful for piped input) |
The adapter registers under platform name terminal and exposes a single private-chat session (no groups).
After epsdk run, the terminal becomes the chat:
> Terminal adapter started. Type a message to chat with the Bot. Ctrl+C / EOF to quit.
> Use /help to list commands.
> /hello
[Bot] Hello, User!
> ping
[Bot] ...
You can also pipe input in, which is handy for automated testing:
echo "/hello" | epsdk run main.pyNon-text segments render as placeholders ([image: url], [voice: url], @user_id, ...). Group-related actions are unsupported (no groups in a terminal).
stdinis read in a worker thread, so on shutdown the reader only returns after the next line or EOF (Ctrl+D / Ctrl+Z).- Welcome / goodbye / hint messages follow the framework's
i18nlanguage setting.
- 零配置即用 —— 不需要注册任何平台账号、不需要 token,装上就能跑
- 一行一消息 —— 终端里每输入一行即一条私聊消息,直接触发命令 / 模块处理器
- 回复即打印 —— Bot 通过 SendDSL 回复的内容带
[Bot]前缀打印到 stdout - 标准动作可用 ——
get_user_info/get_self_info/get_friend_list等返回模拟数据,框架标准动作照常工作 - 多段渲染 —— 非文本消息段(图片 / 语音 / 文件 / @ 等)渲染成可读占位符
- i18n 跟随 —— 欢迎语 / 退出语跟随框架
i18n语言设置
pip install ErisPulse-TerminalAdapter需要 ErisPulse >= 2.7.0。
config.toml:
[TerminalAdapter]
bot_id = "terminal_bot"
bot_name = "TerminalBot"
user_id = "terminal_user"
user_name = "User"
prompt = "> "
reply_prefix = "[Bot] "
echo_input = false| 字段 | 默认值 | 说明 |
|---|---|---|
bot_id |
terminal_bot |
Bot 的用户 ID |
bot_name |
TerminalBot |
Bot 昵称 |
user_id |
terminal_user |
模拟用户的 ID(与 Bot 对话的终端用户) |
user_name |
User |
模拟用户昵称 |
prompt |
> |
输入提示符 |
reply_prefix |
[Bot] |
Bot 回复的行前缀(留空则不加前缀) |
echo_input |
false |
是否回显用户输入(管道输入场景下开启) |
适配器注册的平台名为 terminal,只有一个私聊会话,没有群组概念。
epsdk run 启动后,终端就是聊天窗口:
> 终端适配器已启动。直接输入消息即可与 Bot 对话,Ctrl+C 或 EOF 退出。
> 输入 /help 查看可用命令。
> /hello
[Bot] Hello, User!
> ping
[Bot] ...
也可以通过管道喂入,便于自动化测试:
echo "/hello" | epsdk run main.py非文本消息段会渲染成占位符([image: url]、[voice: url]、@user_id 等)。群组相关操作不支持(终端无群组)。
stdin在独立线程中读取,关闭时需等到下一行或 EOF(Ctrl+D / Ctrl+Z)才会退出。- 欢迎语 / 退出语 / 提示语跟随框架
i18n语言设置。
Related · ErisPulse · Documentation · Issues