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:
creme 2021-08-07 15:46:09 +00:00
commit 2a0518b302
6 changed files with 479 additions and 1 deletions

View 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)

View 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
View 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

View File

@ -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"

View 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.

View File

@ -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