About
This website is a companion to the hosted Fletcher bot instance for managing preferences. If you are the owner of a Discord server with Fletcher in it, the server can be selected from the left hand drawer. All users can select User Preferences to set user-specific configuration options.
Fletcher: A Discord Teleport Bot
Copyright (C) 2023 Novalinium (Noble Jury Software)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Description
Fletcher is a message bot that aims to resolve common moderation tasks in Discord, a popular chat platform. It is designed to be scalable, easy to run, and secure (e.g. will not interfere with other programs running on the same host and will not disclose user information inappropriately).
Functionality at time of writing includes:
- Teleports between channels, including across servers
- One or two way synchronization between channels, including across servers
- Spoiler codes for text (ROT13 [classic] and memfrob [wider character support and name obfuscation]) and images
- Channel activity checks
- User activity checks
- Voice channel updates
- Moderation reports (automated and manual)
- Moderation role ping bypass
- Moderation permissions elevation (similar to `
sudo
`) - Issue tracker integration
- Management of new server members (role assignment, rules acknowledgement, auto role save and restore)
- GitHub integration
And a few more fun modules:
- Collective action coordination
- Music relay
- Math rendering
- Random image posting (Google Photos)
- ShindanMaker integration
- RetroWave Image Generator
Installation:
If you would like to self-host Fletcher, email the author: we'll work something out. This is a source code release of only the main modules, without optional modules or other ancillaries provided. Alternatively, simply add the hosted Fletcher to your own Discord server using the OAuth grant link at https://fletcher.fun/add.
Documentation:
Documentation for this code is in progress at https://man.sr.ht/~nova/fletcher,
but the author strives to make the code readable without much trouble. This area
is under development. Currently, the bot can self-report loaded commands with
the `!help'
command, as well as some additional information with the `verbose'
parameter. In addition, a command flow diagram is included in controlflow.dot,
as well as a PNG (Warning: large file) at
https://novalinium.com/rationality/fletcher.png.
Development:
Development can be tracked via the project issue tracker at https://todo.sr.ht/~nova/fletcher, and on the author's blog at https://novalinium.com/blog. Most announcements take place on a Discord that this bot was built for, email the author if you would like access to the announcements Discord. Development and hosting costs are generously supported through BuyMeACoffee (https://www.buymeacoffee.com/fletcher): it takes time and resources to support this bot, and Liberapay helps make this possible.
If you have feature requests or would like to contribute to the project, patches are accepted by email or through the project issue tracker.
Caveats:
Warning! This project DOES NOT provide all files needed to self-host. It is missing the test harness, as well as the debugging, code injection and SystemD unit files, as well as any database schemas. This software is *not* General Data Protection Regulation (EU) 2016/679 compliant on its own, and should be paired with appropriate log parsing software for compliance. Some functionality may not be ADA Amendments Act of 2008 compliant due to technologic limitations and/or limited understanding by the author. Finally, per the terms of the AGPL, there is NO WARRANTY provided with this program. If you would like a less restrictive license, please contact the author, and we'll discuss it.
Privacy Policy
In the hosted version of this bot, we store:
- Guild IDs
- Channel IDs
- User IDs
- Message IDs
- Role IDs
- User defined timezones (and other preferences/memos)
- Pocket user tokens
Why do we need the data, and why do we use this data?
Most data is used in the context of creating bridges between discords in which case message-message correspondance has to be stored. Some is also used for configuration storage for features like timezone conversions, moon phases, timestamps in various places and username masks.
Other than Discord, do we share your data with any 3rd parties?
We use Sentry as part of development.
How can users get data removed, or how can users contact the bot admin?