Giter Site home page Giter Site logo

fletcher's Introduction

Fletcher: A Discord Moderation Bot.

Copyright (C) 2023 Novalinium [email protected] (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): https://novalinium.com/rationality/fletcher.png

Development

Development can be tracked via the project issue tracker - https://todo.sr.ht/~nova/fletcher and on the author's blog - 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://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.

fletcher's People

Watchers

John Clark avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.