Git Product home page Git Product logo

4dc's Introduction

4DC

ContentCreator Language Library DiscordJS

4DC is a multipurpose discord.js v14 bot created for the ContentCreator Discord server.

With 30+ custom slash commands and useful features including; general moderation, mass event protection, custom blacklist, warning system, rank and xp economy with custom rank cards (node-canvas), chatgpt assistant (openai), txt2img generator (stable-diffusion), invite tracker, youtube upload notifications, custom games, reporting system, and much more..

Note

  • This repo is actively being maintained and updated to include the latest discord.js releases and Discord API changes
  • While this project and all of its code is free to use and modify, it was created soley to run on a specific server and would not work elsewhere without some heavy modifying beforehand
  • The ContentCreator Discord server isn't for support for this project. Contact me on Discord privately if you have any questions

License

4DC is licensed under the GPL-3.0 License

4dc's People

Contributors

hightechlowiq avatar probablyraging avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

4dc's Issues

Move Command

  • Check toChannels channel type and make sure it's a GUILD_TEXT before continuing
  • Check if the bot has MANAGE_MESSAGES permissions in the channel it is deleting a message in before continuing
  • Error when accidentally using a message ID twice in one commands

Last Letter - double reacts, fail messages and others..

  • Issue with bot sometimes adding a pass and fail reaction when failing - reference
  • Multiple fail messages when two types of fails occur in the same message - reference
    • Make sure it actually fails when the first failing criteria is met
  • Need to ignore numbers and symbols better, especially at the end of a word - reference
    • ...and not use either as a next letter requirement
  • Maybe we ignore messages which include a space or just don't allow chatting in that channel at all
  • Single letter messages are being passed, even though we are supposed to be checking a dictionary - reference
  • onReady fetch the last message in the channel

Handle exceptions for embed field lengths

Global

  • channelmute.js / channelunmute.js (content menu and command versions)
  • avatar.js* (context menu and command versions)
  • whois.js (context menu and command versions)
  • embed.js
  • warn.js* - Still need to add logs embed
  • apply.js
  • report.js
  • serverinfo.js*

*these likely won't ever reach max field lengths

Tasklist - Updating to v13

Overall

  • Implement slash command
  • Event and command handlers
  • Command cooldowns
  • Command permission handler
  • Replace channel.send() messages and embeds (except logs) with ephemeral commandInteraction.reply()
  • Logs for commands and other modules
  • Timeout logs
    • Waiting for this to be merged to main branch
  • #6

Modules

  • Blacklist
    • Needs to be reworked to prevent double messages when meeting multiple criteria
    • Use timeout instead of mute
  • Link cooldown
  • Member counter
    • Figure out why online user count is off by ~130.
  • Last letter game
    • Will need to be reworked at some point #4
  • Staff applications
    • Added as the /apply command

Slash Command

  • Delete Messages (previously Clear Channel)
    • Less restricted options for the owner, for mass deletes. Other users with access to the command will be limited to deleting 5 messages per command and will be required to supply a username
  • Embedded Message Editor
  • Channel Mute
  • Warning System
  • Move Messages
    • Allows the user to move up to 5 messages per command, and messages containing 10 or fewer attachments
  • Rule Reminder
  • Avatar Fetcher
    • Username parameter is optional. If no username is supplied the bot will return your own avatar
  • Whois (command and menu)
    • Username parameter is optional. If no username is supplied the bot will return your own information. *command version
  • Server Statistics
  • Help Menu
  • New Report Command
    • Add optional image url field

Context Menus

None yet...

Ideas & Features

Backend

  • Auto-pull new commits on main branch and reload application when file changes are detected

Commands

  • Boost
    • display perks of server boosting
  • Add a duration option to channel mute command

Features

  • Auto-fetch and post new YouTube uploads for server boosters
  • Invites tracker
  • Reaction Roles
    • Listen for reactions on the existing embeds in #self-roles

member-counter

Is null if no one has a status other than offline

#2

C:\Users\proba\Desktop\CreatorBot2.0\modules\member-counter.js:9
            let totalOnline = fetchedMembers.filter(member => member.presence.status !== 'offline').size + 130;
                                                                              ^

TypeError: Cannot read properties of null (reading 'status')
    at C:\Users\proba\Desktop\CreatorBot2.0\modules\member-counter.js:9:79
    at Map.filter (C:\Users\proba\Desktop\CreatorBot2.0\node_modules\@discordjs\collection\dist\index.js:1:2066)
    at C:\Users\proba\Desktop\CreatorBot2.0\modules\member-counter.js:9:46
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

Delete Command

  • Check if bot has MANAGE_MESSAGES permissions before continuing

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.