GithubHelp home page GithubHelp logo

jndgoncalves / superdoraemon-discord-sound-bot Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 296 KB

A Discord bot designed to join a voice channel that a user has joined and play a specific sound. This bot enhances server interactions by providing a fun and interactive audio experience for users. Deployed on my personal Raspberry Pi for consistent uptime.

Home Page: https://discord.com/invite/kyJwF2RcPt

License: MIT License

Dockerfile 5.72% TypeScript 92.57% JavaScript 1.71%
discord discord-bot discord-js discord-soundbot raspberry-pi

superdoraemon-discord-sound-bot's Introduction

Super Doraemon - Discord Sound Bot

A Discord bot designed to join a voice channel that a user has joined and play a specific sound. This bot enhances server interactions by providing a fun and interactive audio experience for users.

Join Our Discord Guild

If you have questions, suggestions, or just want to chat with us, join our Discord guild:

Discord

Demonstration Video

Click on the image below to watch a demonstration of the Discord bot on YouTube:

Watch the video

Table of Contents

Development & Configuration

  • TypeScript: The bot is written in TypeScript, offering strong typing and OOP features.
  • ESLint: The code is linted using ESLint to ensure code quality and consistency.
  • VS Code: For developers using Visual Studio Code, there are specific configurations provided for a seamless development experience.

Features

  • Join & Play: The bot automatically joins a voice channel when a user joins and plays a designated sound.
  • Interactive Commands: Engage users with commands to control the bot's behavior.

Setup & Installation

  1. Clone the Repository

    git clone https://github.com/jndgoncalves/SuperDoraemon-discord-sound-bot
  2. Navigate to the Directory

    cd SuperDoraemon-discord-sound-bot
  3. Install Dependencies

    npm install
  4. Setup Environment Variables Rename .env.example to .env and fill in the required variables, such as your Discord token and any other necessary configurations.

  5. Run the Bot

    docker-compose up

Commands

Fun Commands

  • !ping: Checks the bot's responsiveness.
  • !play: Outputs "playing a sound..." in the text channel. (Note: This command was created as a test before implementing the event-based sound playing feature.)

Utility Commands

  • !server: Provides server information (name and total members).
  • !user: Provides information about the invoking user (tag and unique ID).

Events Handled

  • ready: Initializes the bot and logs a message to the console.
  • interactionCreate: Processes user interactions with server commands.
  • joinVoiceChannel: Handles users joining voice channels, triggering bot actions.

Dependencies

  • Discord.js: Interact with the Discord API.
  • @discordjs/voice: Handle voice connections in Discord.js.
  • dotenv: Load environment variables from .env.
  • ts-node: TypeScript execution for Node.js.
  • ffmpeg: Handle multimedia data for audio playback in voice channels.

DevDependencies

  • @typescript-eslint/eslint-plugin and @typescript-eslint/parser: ESLint support for TypeScript.
  • eslint: Lint ECMAScript/JavaScript code.
  • nodemon: Monitor source changes and restart the server.
  • typescript: Static types for JavaScript development.

Debugging with VS Code

  1. Update docker-compose.yml: Modify for debugging.

  2. Build and Start the Container:

    docker-compose up
  3. Debug using VS Code: Attach VS Code to the running Node.js process inside the container.

Contribution & Feedback

Contributions are welcome! Fork the repository and submit a pull request for enhancements or fixes. For feedback or issues, use the GitHub issues section.

License

This project is licensed under the MIT License.

Contact

For inquiries or collaboration opportunities, reach out via GitHub issues or your preferred contact method.

superdoraemon-discord-sound-bot's People

Contributors

jndgoncalves avatar

Watchers

 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.