Slavi Pantaleev dd1dd78312 Rework typing notifications
Previously, the bot only had rudimentary typing notification support.

It used to send a single notification when starting a long task
and did not bother with notifications anymore.
By default matrix-rust-sdk gives these notifications a validity of 4
seconds, so it would expire shortly. If the bot takes longer to respond,
you'd see the typing notification expire and wonder if a response is
coming.

Another edge case is the bot sending an answer quicker and the typing
notice still being on. Some clients (like element-web) seem to hide the
typing notice when a new message comes, so they don't experience this as
problematic.

The reworked typing notification system should be robust:

- typing notices are sent continuously, until the bot finishes doing
  work
- if the bot is performing multiple actions in a room (even for
  different people), typing notices would continue to be sent until the
  bot becomes idle
- as soon as the bot becomes idle, a "not typing anymore" notice is sent
  to clear the state
2024-09-13 21:40:24 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 13:44:06 +03:00
2024-09-13 21:40:24 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 13:44:06 +03:00
2024-09-13 21:40:24 +03:00
2024-09-13 21:40:24 +03:00
2024-09-13 21:39:19 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 13:44:06 +03:00
2024-09-12 16:16:28 +03:00

baibot logo

baibot

🤖 baibot is an AI (Large Language Model) bot for Matrix built by etke.cc (managed Matrix servers).

The name is pronounced 'bye'-bot and is a play on AI, referencing the fictional character 🇧🇬 Bai Ganyo.

It's designed as a more private and featureful alternative to matrix-chatgpt-bot. It's influenced by chaz, but does not use the AIChat CLI tool and instead does everything in-process, without forking.

🌟 Features

🖼️ Screenshots

Introduction and general usage

You can find more screenshots on the the 🌟 Features and other 📚 Documentation pages, as well as in the docs/screenshots directory.

🚀 Getting Started

🗲 For a quick experiment, you can refer to the 🧑‍💻 development documentation which contains information on how to build and run the bot (and its various dependency services) locally.

For a real installation, see the 🚀 Installation documentation which contains information on 🐋 Running in a container and 🖥️️️️️ Running a binary.

📚 Documentation

See the bot's 📚 documentation for more information on how to use and configure the bot.

💻 Development

See the bot's 🧑‍💻 development documentation for more information on how to develop on the bot.

📜 Changes

This bot evolves over time, sometimes with backward-incompatible changes.

When updating the bot, refer to the changelog to catch up with what's new.

🆘 Support

Description
BaiBot, but with MCP added in (yes, it's vibecoded. womp womp)
Readme AGPL-3.0 4.4 MiB
Languages
Rust 97.6%
Just 2%
Shell 0.2%
Dockerfile 0.2%