mirror of
https://git.envs.net/envs/matrix-doc.git
synced 2024-10-01 11:55:35 +00:00
Merge pull request 'advanced part' (#7) from advanced into master
Reviewed-on: https://git.envs.net/envs/matrix-doc/pulls/7
This commit is contained in:
commit
2a0518b302
29
docs/advanced/abuse_management.md
Normal file
29
docs/advanced/abuse_management.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
title: "Abuse Management"
|
||||
date: 2021-08-03T20:30:00+02:00
|
||||
---
|
||||
|
||||
# Abuse Management
|
||||
|
||||
our matrix instance has a moderation tool [mjolnir](https://github.com/matrix-org/mjolnir).
|
||||
to protect your own room from known spammers and evil accounts, you can simply give [@mjolnir:envs.net](https://matrix.to/#/@mjolnir:envs.net)
|
||||
an invite and admin Permissions in the room.
|
||||
the abuse moderators then receive the invitation and have to confirm it.
|
||||
after this step, the room is protected.
|
||||
|
||||
you are welcome to join [#abuse:envs.net](https://matrix.to/#/#abuse:envs.net) to report known spammers and evil peoples.
|
||||
|
||||
***notice:***
|
||||
|
||||
you can also subscribe to our banlist to ignore the banned users even in unprotected rooms.
|
||||
|
||||
.. to do this, you need to allow the `showLabsSettings` feature in your element config ([see sample config](https://element.envs.net/config.json))
|
||||
and then activate in `settings` -> `labs` -> `Try out new ways to ignore people`.
|
||||
|
||||
in the last step you need to subscribe our banlist: [#envs-ban-list:envs.net](https://matrix.to/#/#envs-ban-list:envs.net) (`!UyrSHIwWgbGsHjabGe:envs.net`)
|
||||
under `settings` -> `ignored users`.
|
||||
|
||||
***official matrix.org banlists:***
|
||||
|
||||
- [#matrix-org-coc-bl:matrix.org](https://matrix.to/#/#matrix-org-coc-bl:matrix.org) (coc violations)
|
||||
- [#matrix-org-hs-tos-bl:matrix.org](https://matrix.to/#/#matrix-org-hs-tos-bl:matrix.org) (toc violations)
|
28
docs/advanced/irc_bridge.md
Normal file
28
docs/advanced/irc_bridge.md
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "IRC Bridges"
|
||||
date: 2021-08-03T20:30:00+02:00
|
||||
---
|
||||
|
||||
# IRC Bridges
|
||||
|
||||
## IRC Bridge to irc.tilde.chat
|
||||
|
||||
our envs.net matrix instance provides an federated irc bridge to [irc.tilde.chat](https://tilde.chat/).
|
||||
|
||||
### Bridge information
|
||||
|
||||
| | |
|
||||
|:------------------------|:------------------------------------------------------------------------------------------:|
|
||||
| **network name:** | irc.tilde.chat |
|
||||
| **room alias format:** | `#irc.tilde.chat_CHANNELNAME:envs.net` |
|
||||
| **appservice user:** | [@IRCBot:envs.net](https://matrix.to/#/@IRCBot:envs.net) |
|
||||
| **NickServ:** | [@irc.tilde.chat_NickServ:envs.net](https://matrix.to/#/@irc.tilde.chat_NickServ:envs.net) |
|
||||
| **ChanServ:** | [@irc.tilde.chat_ChanServ:envs.net](https://matrix.to/#/@irc.tilde.chat_ChanServ:envs.net) |
|
||||
| **room for support:** | [#envs:envs.net](https://matrix.to/#/envs:envs.net) |
|
||||
| **operator:** | envs.net (~creme) |
|
||||
|
||||
## Documentation
|
||||
|
||||
- [matrix irc bridge documentation](https://matrix-org.github.io/matrix-appservice-irc/latest/usage.html)
|
||||
- [end user faq](https://github.com/matrix-org/matrix-appservice-irc/wiki/End-user-FAQ)
|
||||
- [tilde.chat - wiki](https://tilde.chat/wiki/)
|
356
docs/advanced/local_bots.md
Normal file
356
docs/advanced/local_bots.md
Normal file
@ -0,0 +1,356 @@
|
||||
---
|
||||
title: "Bot's Overview"
|
||||
date: 2021-08-03T20:30:00+02:00
|
||||
---
|
||||
|
||||
# local Bot's on envs.net
|
||||
|
||||
> all our bots are from [maubot](https://github.com/maubot/maubot)
|
||||
|
||||
feel free to use our bot's in your room!
|
||||
|
||||
!!! note
|
||||
The Bot's won't work in encrypted rooms!
|
||||
|
||||
## Overview
|
||||
|
||||
[RSS Bot](#rss_bot) |
|
||||
[Reminder](#reminder) |
|
||||
[sed Bot](#sed_bot) |
|
||||
[Poll Bot](#poll_bot) |
|
||||
[Karma Bot](#karma_bot) |
|
||||
[Github Bot](#github_bot) |
|
||||
[Weather Bot](#weather_bot) |
|
||||
[Translator](#translator) |
|
||||
[version checker](#version_checker) |
|
||||
[urbandictionary Bot](#urbandictionary_bot) |
|
||||
[Wolfram Alpha Bot](#wolfram_alpha_bot) |
|
||||
[Factorial Bot](#factorial_bot) |
|
||||
[Dice Bot](#dice_bot) |
|
||||
[XKCD](#xkcd) |
|
||||
[CommitStrip](#commitstrip) |
|
||||
[Cat Disruptor](#cat_disruptor) |
|
||||
[echobot [envs]](#echobot_envs)
|
||||
|
||||
!!! info
|
||||
there is also [@maubot:envs.net](https://matrix.to/#/@maubot:envs.net) which includes all bots.
|
||||
you can try all the bots in [`#test:envs.net`](https://matrix.to/#/#test:envs.net).
|
||||
|
||||
***
|
||||
|
||||
## RSS Bot
|
||||
|
||||
**name:** [`@rss:envs.net`](https://matrix.to/#/@rss:envs.net)
|
||||
|
||||
A Bot that posts RSS feed updates to Matrix.
|
||||
|
||||
**Usage:** `!rss <subcommand> [...]`
|
||||
|
||||
- `subscribe <feed URL>` - Subscribe this room to a feed.
|
||||
- `unsubscribe <feed ID>` - Unsubscribe this room from a feed.
|
||||
- `template <feed ID> <new template>` - Change the notification template for a subscription in this room
|
||||
- `notice <feed ID> [true/false]` - Set whether or not the bot should send updates as m.notice
|
||||
- `subscriptions` - List the subscriptions in the current room.
|
||||
|
||||
## Reminder
|
||||
|
||||
A Bot to remind you about things.
|
||||
|
||||
**name:** [`@reminder:envs.net`](https://matrix.to/#/@reminder:envs.net)
|
||||
|
||||
**Usage:** `!remind <date> [message]` _OR_ `!remind <subcommand> [...]`
|
||||
|
||||
**Subcommands:** reschedule, help, list, locales, locale, timezone
|
||||
|
||||
`<date>` can be a time delta (e.g. `2 days 1.5 hours` or `friday at 15:00`) or an absolute date (e.g. `2020-03-27 15:00`).
|
||||
|
||||
To set the timezone for date parsing and output for your messages, use `!remind tz <timezone>`.
|
||||
It's recommended to use a [TZ database name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones),
|
||||
but anything supported by Pytz will work.
|
||||
|
||||
Similarly, you can set the locale for date parsing with `!remind locale <list of locales>`. If you
|
||||
provide multiple locales, each one will be tried for parsing your input until one matches. Unlike
|
||||
the timezone, the locale only affects input, not output. You can view available locales using
|
||||
`!remind locales`. You can also contribute new locales by making a pull request
|
||||
(see [locales.py](https://github.com/maubot/reminder/blob/master/reminder/locales.py), content warning: long regexes).
|
||||
|
||||
To list your upcoming reminders, use `!remind list`
|
||||
|
||||
## sed Bot
|
||||
|
||||
A Bot to do sed-like replacements.
|
||||
|
||||
**name:** [`@sed:envs.net`](https://matrix.to/#/@sed:envs.net)
|
||||
|
||||
Example:
|
||||
|
||||
> this is a wrong txt.
|
||||
|
||||
**Usage:** `s/txt/text/g`
|
||||
|
||||
**sed output:**
|
||||
> this is a wrong text.
|
||||
|
||||
## Poll Bot
|
||||
|
||||
A Bot that creates a poll in a room and allows users to vote.
|
||||
|
||||
**name:** [`@poll:envs.net`](https://matrix.to/#/@poll:envs.net)
|
||||
|
||||
**Usage:** `!poll <subcommand> [...]`
|
||||
|
||||
- `new <poll_setup>` - Creates a new poll with "Question" "choice" "choice" "choice" ...
|
||||
- `results` - Prints out the current results of the poll
|
||||
- `close` - Ends the poll
|
||||
|
||||
Example:
|
||||
|
||||
`!poll new "Question" "Choice1" "Choice2" "Choice3"` - Creates a new poll with given (at least 1) choices
|
||||
|
||||
The user can now also create polls with line-breaks:
|
||||
```
|
||||
!poll new What is my question?
|
||||
Choice1
|
||||
Choice2
|
||||
Choice3
|
||||
```
|
||||
|
||||
`!poll results` - Displays the results from the poll
|
||||
|
||||
`!poll close` - Ends the poll
|
||||
|
||||
Users vote by adding the matching emoji to the poll (i.e. if the first choice has a :thumbsup: then in order to pick that choice the user has to react with :thumbsup:)
|
||||
|
||||
## Karma Bot
|
||||
|
||||
A Bot that tracks the karma of users.
|
||||
|
||||
**name:** [`@karma:envs.net`](https://matrix.to/#/@karma:envs.net)
|
||||
|
||||
**Usage:** `!karma <subcommand> [...]`
|
||||
|
||||
- `up <Event ID>` - Upvote an event
|
||||
- `down <Event ID>` - Downvote a message
|
||||
- `stats` - View global karma statistics
|
||||
- `view [user ID]` - View your or another users karma
|
||||
- `export` - Export the data of your karma
|
||||
- `breakdown` - View your karma breakdown
|
||||
- `top` - View the highest rated users
|
||||
- `bottom` - View the lowest rated users
|
||||
- `best` - View the highest rated messages
|
||||
- `worst` - View the lowest rated messages
|
||||
|
||||
## Github Bot
|
||||
|
||||
A GitHub client and webhook receiver for maubot.
|
||||
|
||||
**name:** [`@github:envs.net`](https://matrix.to/#/@github:envs.net)
|
||||
|
||||
**Usage:** `!github <subcommand> [...]`
|
||||
|
||||
- `login [flags]` - Log into GitHub.
|
||||
- `ping` - Check your login status.
|
||||
- `raw <query>` - Make a raw GraphQL query.
|
||||
- `create [owner/repo] <title and body>` - Create an issue. Title on first line, body on other lines
|
||||
- `webhook <subcommand> [...]` - Manage webhooks.
|
||||
|
||||
<br />
|
||||
1. **Use `!github login` to log in.**
|
||||
|
||||
After inviting your bot / client to a matrix channel, use the `!gh` or
|
||||
`!github` command to use the github instance.
|
||||
|
||||
Using `gh login` first is mandatory and needed once **per instance**.
|
||||
|
||||
The bot will reply with a link leading to your personal Github's allowed
|
||||
OAuth apps page, where you shall grant the necessary rights to the bot
|
||||
OAuth app.
|
||||
|
||||
By default, the bot will request access to all public repos and to add
|
||||
webhooks. You can control the permissions it wants with some flags:
|
||||
|
||||
- `--no-repo` makes it not ask for repo access at all.
|
||||
Only `!github webhook add` will work, other commands like `!github create`
|
||||
will not.
|
||||
- `--no-hook` makes it not ask for webhook access.
|
||||
`!github webhook add` will not work.
|
||||
- `--private` makes it ask for private repo access. Necessary if you want to
|
||||
use the bot to manage private repos.
|
||||
|
||||
<br />
|
||||
2. **Use `!github webhook add <owner>/<repo>` to add webhooks.**
|
||||
|
||||
This will let you see in the current channel all the commits, comments,
|
||||
issues, stars, forks, pull requests, and so on, for that given repository.
|
||||
|
||||
You must have admin rights on the repositories you want to track, as adding
|
||||
webhooks to a repository requires manager access rights to a project.
|
||||
|
||||
Once you create a webhook and track a repository, it will be tracked
|
||||
**only in the room from which you are in**.
|
||||
|
||||
## Weather Bot
|
||||
|
||||
A Bot that gets the weather from [wttr.in](http://wttr.in) and returns the text to the chat
|
||||
|
||||
**name:** [`@weather:envs.net`](https://matrix.to/#/@weather:envs.net)
|
||||
|
||||
**Usage:**
|
||||
|
||||
- `!weather` - Reply with the weather based on the default config value (Germany, Berlin)
|
||||
- `!weather <location>` - Reply with the location for the specified `<location>` where
|
||||
`<location>` can be an airport code, or a city
|
||||
|
||||
## Translator
|
||||
|
||||
A Bot to translate words using Google Translate (DeepL is planned too)
|
||||
|
||||
**name:** [`@translate:envs.net`](https://matrix.to/#/@translate:envs.net)
|
||||
|
||||
**Usage:** `!translate <language> [text]`
|
||||
|
||||
After inviting the bot to your room, simply use the `!translate` command:
|
||||
|
||||
`!translate en ru Hello world.`
|
||||
|
||||
which results in
|
||||
|
||||
>Translator:
|
||||
> > rubo77
|
||||
> > !translate en ru Hello world.
|
||||
|
||||
> Привет, мир.
|
||||
|
||||
You can also use the alias `tr`:
|
||||
|
||||
`!tr en ru Hello world.`
|
||||
|
||||
The first parameter (source language) can be set to `auto` or omitted entirely
|
||||
to let Google Translate detect the source language. Additionally, you can reply
|
||||
to a message with `!tr <from> <to>` (no text) to translate the message you
|
||||
replied to.
|
||||
|
||||
**supported languages:**
|
||||
|
||||
- de: (german)
|
||||
- en: (english)
|
||||
- zh: (chinese)
|
||||
- ...
|
||||
|
||||
Full list of supported languages: [https://cloud.google.com/translate/docs/languages](https://cloud.google.com/translate/docs/languages)
|
||||
|
||||
## version checker
|
||||
|
||||
A Bot to check the version of servers in rooms.
|
||||
|
||||
**name:** [`@version:envs.net`](https://matrix.to/#/@version:envs.net)
|
||||
|
||||
**Usage:**
|
||||
|
||||
- `!servers` - Test all servers in room and report aggregated tests.
|
||||
- `!servers retest <name>` - Re-test a server and update the previous results.
|
||||
- `!servers match <software> [operator] <version>` - Show all servers with the
|
||||
given software and version. Operator can be `>`, `<`, `>=`, `<=`, `!=`, `=`
|
||||
or empty.
|
||||
- `!server test <name>` - Test one server, independently of any previous whole-room tests.
|
||||
- `!server`, `!version` and `!versions` are aliases for `!servers`, `recheck`
|
||||
is an alias for `tetest`.
|
||||
|
||||
## urbandictionary Bot
|
||||
|
||||
A Bot to fetch definitions from [Urban Dictionary](https://www.urbandictionary.com/). Returns a specified or random entry.
|
||||
|
||||
**name:** [`@urban:envs.net`](https://matrix.to/#/@urban:envs.net)
|
||||
|
||||
**Usage:** `!ud [term] [index]`
|
||||
|
||||
Examples
|
||||
```
|
||||
!ud
|
||||
!ud foo
|
||||
!ud foo 2
|
||||
```
|
||||
|
||||
## Wolfram Alpha Bot
|
||||
|
||||
a Bot to search on [Wolfram Alpha](https://www.wolframalpha.com/).
|
||||
|
||||
**name:** [`@wolframalpha:envs.net`](https://matrix.to/#/@wolframalpha:envs.net)
|
||||
|
||||
**Usage:** `!wolfram some search term`
|
||||
|
||||
## Factorial Bot
|
||||
|
||||
A Bot that calculates expected and unexpected factorials in messages.
|
||||
|
||||
**name:** [`@factorial:envs.net`](https://matrix.to/#/@factorial:envs.net)
|
||||
|
||||
**Usage:**
|
||||
|
||||
Simply type a number followed by one or more exclamation marks. Note that multiple exclamation marks means a double factorial, not a factorial applied twice.
|
||||
|
||||
Example:
|
||||
|
||||
`1! 2! 3!`
|
||||
|
||||
> 1! = 1
|
||||
> 2! = 2
|
||||
> 3! = 6
|
||||
|
||||
`over 9000!`
|
||||
|
||||
>9000! ≈ 8.09958 × 10<sup>31681</sup>
|
||||
|
||||
|
||||
## Dice Bot
|
||||
|
||||
A Bot that rolls dice. Has built-in calculator.
|
||||
|
||||
**name:** [`@dice:envs.net`](https://matrix.to/#/@dice:envs.net)
|
||||
|
||||
**Usage:**
|
||||
|
||||
The base command is `!roll`. To roll dice, pass `XdY` as an argument, where `X`
|
||||
is the number of dice (optional) and `Y` is the number of sides in each dice.
|
||||
Most Python math and bitwise operators and basic `math` module functions are
|
||||
also supported, which means you can roll different kinds of dice and combine
|
||||
the results however you like.
|
||||
|
||||
## XKCD
|
||||
|
||||
A Bot to fetch xkcd comics and to get notifications about new comics.
|
||||
|
||||
**name:** [`@xkcd:envs.net`](https://matrix.to/#/@xkcd:envs.net)
|
||||
|
||||
**Usage:** `!xkcd [number]` _OR_ `!xkcd <subcommand> [...]`
|
||||
|
||||
**Subcommands:** `reindex`, `lucky`, `search`, `subscribe`, `unsubscribe`
|
||||
|
||||
## CommitStrip
|
||||
|
||||
A Bot to fetch [CommitStrips](https://www.commitstrip.com/en/) and to get notifications about new comics.
|
||||
|
||||
**name:** [`@commitstrip:envs.net`](https://matrix.to/#/@commitstrip:envs.net)
|
||||
|
||||
**Usage:** `!commitstrip` _OR_ `!commitstrip <subcommand> [...]`
|
||||
|
||||
**Subcommands:** `search`, `subscribe`, `unsubscribe`
|
||||
|
||||
## Cat Disruptor
|
||||
|
||||
A Bot plugin that disrupts monologues cat pictures and react to some messages.
|
||||
|
||||
**name:** [`@cat:envs.net`](https://matrix.to/#/@cat:envs.net)
|
||||
|
||||
You can use it 3 times per day with `🐈️` _(\:cat2:)_.
|
||||
|
||||
## echobot [envs]
|
||||
|
||||
A simple Bot that echoes pings and other stuff.
|
||||
|
||||
**name:** [`@echo:envs.net`](https://matrix.to/#/@echo:envs.net)
|
||||
|
||||
**Usage:**
|
||||
|
||||
- `!ping` - Reply with "Pong!" and the time it took for the message to reach the bot.
|
||||
- `!echo <message>` - Reply with the given message
|
@ -171,7 +171,7 @@ Go back to the old room.
|
||||
* Set event type to `m.room.tombstone`
|
||||
* In event content enter (you'll need the target room_ID now):
|
||||
|
||||
```
|
||||
```json
|
||||
{
|
||||
"body": "This room has been replaced by new one",
|
||||
"replacement_room": "!target_room_id:server.tld"
|
||||
|
61
docs/rooms/retention_policies.md
Normal file
61
docs/rooms/retention_policies.md
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
title: "Message retention policies"
|
||||
date: 2021-08-03T20:30:00+02:00
|
||||
---
|
||||
|
||||
# Message retention policies
|
||||
|
||||
Message retention policies exist at a room level, follow the semantics described in [MSC1763](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1763/proposals/1763-configurable-retention-periods.md), and allow server and room admins to configure how long messages should be kept in a homeserver's database before being purged from it.
|
||||
|
||||
!!! note
|
||||
Please note that, as this feature isn't part of the Matrix specification yet, this implementation is to be considered as experimental.
|
||||
|
||||
A message retention policy is mainly defined by its `max_lifetime` parameter, which defines how long a message can be kept around after it was sent to the room. If a room doesn't have a message retention policy, and there's no default one for a given server, then no message sent in that room is ever purged on that server.
|
||||
|
||||
MSC1763 also specifies semantics for a `min_lifetime` parameter which defines the amount of time after which an event can get purged (after it was sent to the room), but Synapse doesn't currently support it beyond registering it.
|
||||
|
||||
Both `max_lifetime` and `min_lifetime` are optional parameters.
|
||||
|
||||
!!! note
|
||||
Note that message retention policies don't apply to state events.
|
||||
|
||||
more infomration about Message retention policies can find [here](https://github.com/matrix-org/synapse/blob/master/docs/message_retention_policies.md).
|
||||
|
||||
## Lifetime limits on envs.net
|
||||
|
||||
Our current instance lifetime limits are:
|
||||
|
||||
```yaml
|
||||
allowed_lifetime_min: 30m
|
||||
allowed_lifetime_max: 3y
|
||||
```
|
||||
|
||||
## Room configuration
|
||||
|
||||
To configure a room's message retention policy, a room's admin or
|
||||
moderator needs to send a state event in that room with the type
|
||||
`m.room.retention` and the following content:
|
||||
|
||||
* Type `/devtools`.
|
||||
* Select "Create custom event"
|
||||
* Press red "Event" button to change to "State event"
|
||||
* Set event type to `m.room.retention`
|
||||
|
||||
```json
|
||||
{
|
||||
"max_lifetime": ...
|
||||
}
|
||||
```
|
||||
|
||||
Press `Send`
|
||||
|
||||
In this event's content, the `max_lifetime` parameter has the same
|
||||
meaning as previously described, and needs to be expressed in
|
||||
milliseconds. The event's content can also include a `min_lifetime`
|
||||
parameter, which has the same meaning and limited support as previously
|
||||
described.
|
||||
|
||||
!!! note
|
||||
Note that over every server in the room, only the ones with support for
|
||||
message retention policies will actually remove expired events. This
|
||||
support is currently not enabled by default in Synapse.
|
@ -49,11 +49,15 @@ nav:
|
||||
- Find rooms: rooms/find.md
|
||||
- Delete rooms: rooms/delete.md
|
||||
- Share rooms: rooms/sharing.md
|
||||
- Message retention policies: rooms/retention_policies.md
|
||||
- Notifications: notifications.md
|
||||
- Encryption: encryption.md
|
||||
- Advanced:
|
||||
- Spaces: advanced/spaces.md
|
||||
- Integrations: advanced/integrations.md
|
||||
- Abuse Management: advanced/abuse_management.md
|
||||
- IRC Bridges: advanced/irc_bridge.md
|
||||
- Bot's: advanced/local_bots.md
|
||||
- FAQ: faq.md
|
||||
- Impressum: impressum.md
|
||||
- Development: development.md
|
||||
|
Loading…
Reference in New Issue
Block a user