Skip to content

ArtFX Discord Server Bot, Custom modules and bot functions

License

Notifications You must be signed in to change notification settings

ropeadope62/AutoFX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoFX - Feedback

ArtFX Discord Server Bot, Custom modules and bot functions


Logo

AutoFX Feedback - Enforce user feedback standards


Documentation »

Commands · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Feedback is a bot which will enforce message standards in forum channels built in Discord.py. While customizable, the specific purpose of the bot is to ensure that meaningful feedback is provided by users replying to another user who has requested feedback on an audio project.

Where the bot is added, it will enforce post requirements in feedback channels to make sure that new posts meet the requirements. While enabled, initial requirements for feedback posts include a valid audio attachment or link to a music sharing service such as youtube, soundcloud or clypt.it.

Feedback Requests require Feedback Points, which can be earned by providing feedback for others. To award Feedback Points, messages within forum channel threads are processed to check for meaningful feedback terms and message length. If the message meets the requirements, Feeback Points and Karma Points are awarded to the user replying to the thread.

A users Feedback Points are reset to zero when a new Feedback Request has made. The required Feedback Points to make a new request is set by default to 1, but this value can be customized by command, as well as most other message requirements enforced by the bot.

Basic Overview:

  1. Channel check: The bot checks the type of channel where the message is posted. If the channel is a public thread, it will process the messages differently compared to when they are in a text channel. The bot is designed to enforce Feedback standards in forum channels. When the bot is in a text channel, the bot processes messages as commands.

  2. Feedback enforcement: If the channel is a public thread and it is listed as an allowed channel, the bot enforces feedback requirements. It checks if the message meets certain criteria to be considered as a valid feedback request. If not, it deletes the message and informs the author about the issue. If it is valid, it checks if the user has enough feedback points to post the request.

  3. Feedback points: Feedback points are a system implemented by this bot to ensure that users are engaging with the community. Users earn feedback points by providing valuable feedback to others. If they don't have enough feedback points, they can't post a feedback request.

  4. OpenAI Integration: If enabled in the configuration, the bot uses OpenAI to determine if the feedback response is meaningful.

  5. Keyword and character count checks: The bot also checks if the feedback message contains certain required words and meets a minimum character requirement.

  6. Awarding points: If a user provides valid feedback (i.e., the feedback contains the required words, meets the character count, and is deemed meaningful by OpenAI), they get feedback points and a "karma point".

  7. Command processing: If the message is in a text channel, the bot processes it as a command.

(back to top)

Built With

(back to top)

Getting Started

Create

Prerequisites

Modules:

  • discord.py
  • io
  • json
  • math

Installation

Installing and running the bot:

  1. Clone the repo and place the files wherever you plan to run the bot
  2. Enter your Discord Application API key in config.py
  3. Start the bot with main.py

(back to top)

Usage

  1. Configure the bot command prefix in feedback.py and add a text channel ID where the bot will listen for commands. The default prefix is '/'.

Initially the bot will not be responding to commands, an appropriate text channel will have to be configured in feedback_channels.json. You only have to set a text channel to get started and from that point you can change the monitored channels list with commands.

{"forum_channel_ids": [forumchannelid], "text_channel_ids": [textchannelid}

After an initial text channel has been set for bot commands. You can use /channel to manage monitored text and forum channels.

  1. Add the forum channel id to feedback_channels.json

/channel add forum <forumchannelid>

  1. Configure some Feedback Parameters

feedback parameters:

(back to top)

Roadmap

  • Feature 1
  • Feature 2
  • Feature 3
    • Nested Feature

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

ropeadope62 - @twitter_handle

Project Link: AutoFX Feedback

(back to top)

About

ArtFX Discord Server Bot, Custom modules and bot functions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%