Giter Club home page Giter Club logo

sincroni's Introduction

Sincroni López

A special version of JDBot by me.

Tables

That's Right, this guide will be on the table designs I use. This way you can set it up yourself.

All tables in table.sql.

Systemd Service

Here is the template for the systemd service file.

[Unit]
Description=Runs the Bot Sincroni
After=network-online.target
StartLimitIntervalSec = 1day
StartLimitBurst = 50

[Service]
ExecStart=/path/to/python -u main.py
WorkingDirectory=/path/to/working/directory
EnvironmentFile=/path/to/env/.env
Restart=on-failure
RestartSec=15


[Install]
WantedBy=default.target

Environment File

Here is the template for the environment file.

TOKEN = 
# Token of the bot

DB_key = 
# Postgresql url to connect to

SUPPORT_WEBHOOK = 
# Webhook that you will use to contact yourself from the bot

MOD_WEBHOOK = 
# Webhook that will log the messages sent in global chat for moderation purposes

MOD_CHANNEL =
# ID of the channel that will be used as fallback for moderation Webhooks

sincroni's People

Contributors

jdjginc avatar soheab avatar hinasedev avatar lisabc avatar

Stargazers

 avatar

Watchers

 avatar

sincroni's Issues

anti-spam support

class SomeBot(commands.Bot):
    def __init__(self):
        super().__init__(...) # whatever here
        self.cd_mapping = commands.CooldownMapping.from_cooldown(10, 10, commands.BucketType.member)

    async def on_message(self, message):
        bucket = self.cd_mapping.get_bucket(message)
        retry_after = bucket.update_rate_limit()
        if retry_after:
            # rate limited
        else:
            # not rate limited

        # get_context and friends here or above who knows

https://discordapp.com/channels/336642139381301249/381965515721146390/550512685691830303
I am going to use this to return their messages
so that way in global chat
it will not appear at all
3 messages =
15 second timeout
discord.User
I want to have the messages in a row
but having 3 messages after a bit
and waiting 15 seconds

Coming soon hopefully:

Coming soon: to global chat

link censoring and invite censoring -> for everyone (complete)
anti-spam

reference per server which means storing just message ids and their responses to make a big network of references

blacklist -> wip (almost done)
whitelisting -> wip
custom color for global chat per server's chat_type.

custom owner command with image support

Basically it checks for an image type then allows you to send other information to the global chat, ie custom embed that sends to all types except private.

This is an alternative way to get updates, rather than going to headquarters.

Custom words to be blacklisted at the start of the bot's bootup

  1. make a global table to censor custom words cause people abuse the same word as a joke and won't stop at it.

  2. load it up with

from better_profanity import profanity

for example the list below:
profanity.add_censor_words(["sus"])

# Use the default wordlist
profanity.load_censor_words(whitelist_words=['happy', 'merry'])

# or with your custom words as a List
custom_badwords = ['happy', 'jolly', 'merry']
profanity.load_censor_words(custom_badwords, whitelist_words=['merry'])

nice

    profanity.add_censor_words(custom_badwords)

repeat ie more lack repeating stuff chat.

blacklisting will support it too, so if someone tries to bypass the filter, they will be blacklisted under that type, either in guild level or global level

(this will not allow spam, use at your own risk)

Basically stuff like "balls" can be said here, and will use the default censorship again.

entity_id issues

Some of the stuff in blacklist and other areas can repeat therefore they need to be an objected or an id generated together not just one solid thing.

other todo

people want configuraible webhook embeds, and configurable censor links and censor invites off
reply support, edit, and delete syncing.

(this requires a database to handle it)

warn system:

4 normal warns till action.

this will lead to an auto blacklist with a reason of hit the limit and the warns will be listed to moderators.

on global and guild level.

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.