KaikOut/README.md

131 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

# Moderation bot for XMPP
KaikOut is a portmanteau of Kaiko and Out.
Kaiko (懐古) translates from Japanese to "Old-Fashioned".
_Because spam has never been in fashion, unless it is served on a plate._
## KaikOut
KaikOut is a moderation bot for the XMPP communication network.
KaikOut is an XMPP bot that suprvises group chat activity and assists in blocking and preventing of abusive and unsolicited type of messages and activities.
KaikOut is designed primarily for the XMPP communication network (aka Jabber). Visit https://xmpp.org/software/ for more information.
You can run your own KaikOut instance as a client, from your own computer, server, and even from a Linux phone (i.e. Droidian, Kupfer, Mobian, NixOS, postmarketOS), as well as from Termux.
All you need is one of the above and an XMPP account to connect KaikOut with.
Good luck!
### Slixmpp
KaikOut is a powered by [slixmpp](https://codeberg.org/poezio/slixmpp).
### XMPP
XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
Visit [XMPP](https://xmpp.org/) for more information [about](https://xmpp.org/about/) the XMPP protocol and check the [list](https://xmpp.org/software/) of XMPP clients.
KaikOut is primarily designed for XMPP (aka Jabber), yet it is built to be extended to other protocols.
## Features
### Control
- **Blocklist** - Check messages for denied phrases and words (activated by default).
- **Frequency** - Check the frequency of messages and status messages (activated by default).
- **Inactivity** - Check for inactivity (deactivated by default).
- **Moderation Abuse** - KaikOut moderates the moderators.
### Report
- **Logger** - Log messages to CSV files.
- **Moderation Reports** - KaikOut immediately reports to moderators about moderation activities made by other moderators.
- **Self Reports** - KaikOut immediately reports to moderators about its moderation activities.
### Special
- **Remote Management** - KaikOut can be managed in two fashions, publicly (groupchat) and privately (chat).
- **Simultaneous** - KaikOut is designed to handle multiple contacts, including groupchats, Simultaneously.
- **Visual interface** - Interactive interface for XMPP using Ad-Hoc Commands,
## Preview
KaikOut as appears with Cheogram.
<img alt="Chat: Session" src="kaikout/documentation/screenshots/chat_session.jpg" width="200px"/>
<img alt="Ad-Hoc: Commands" src="kaikout/documentation/screenshots/adhoc_commands.jpg" width="200px"/>
<img alt="Ad-Hoc: Edit bookmark" src="kaikout/documentation/screenshots/adhoc_edit.jpg" width="200px"/>
<img alt="Ad-Hoc: Settings" width="200px" src="kaikout/documentation/screenshots/adhoc_settings.jpg"/>
## Getting Started
### Install
It is possible to install KaikOut using pip and pipx.
#### pip inside venv
```
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install git+https://git.xmpp-it.net/sch/KaikOut
```
#### pipx
##### Install
```
$ pipx install git+https://git.xmpp-it.net/sch/KaikOut
```
##### Update
```
$ pipx uninstall kaikout
$ pipx install git+https://git.xmpp-it.net/sch/KaikOut
```
### Start
Start by executing the command `kaikout` and enter Username and Password of an existing XMPP account.
```
$ kaikout
```
You can also start KaikOut as follows:
```
$ kaikout --jid ACCOUNT_JABBER_ID --password ACCOUNT_PASSWORD
```
It is advised to use a dedicated extra account for KaikOut.
## Recommended Clients
KaikOut works with any XMPP chat client; if you want to make use of the visual interface which KaikOut has to offer (i.e. Ad-Hoc Commands), then you are advised to use [Cheogram](https://cheogram.com), [Converse](https://conversejs.org), [Gajim](https://gajim.org), [monocles chat](https://monocles.chat), [Movim](https://mov.im), [Poezio](https://poez.io), [Profanity](https://profanity-im.github.io), [Psi](https://psi-im.org) or [Psi+](https://psi-plus.com).
### Support
Please join our support groupchat whether you want help, discuss new features or just greet us.
- [Main Groupchat](xmpp:kaikout@chat.woodpeckersnest.space?join) (International)
## Authors
[Schimon](xmpp:sch@pimux.de?message) (Author).
## License
AGPL3 license.
## Copyright
Schimon Jehudah Zackary, 2024