NeoPunkXM is a Discord bot designed to manage age verification, provide various utility commands, and post YouTube video updates to a specified channel.
- Age Verification: Automatically and manually verify user ages.
- Content Restriction: Restrict adult content for underage users.
- YouTube Integration: Post YouTube video updates to a specified channel.
- Utility Commands: Various utility and fun commands.
-
Clone this repository to your local machine:
git clone https://github.com/yourusername/neopunkxm-bot.git cd neopunkxm-bot
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the root directory with the following content:BOT_TOKEN=your_discord_bot_token YOUTUBE_API_KEY=your_youtube_api_key YOUTUBE_CHANNEL_ID=your_youtube_channel_id DISCORD_CHANNEL_ID=your_discord_channel_id DB_HOST=your_DB_HOST_Name DB_PORT=your_DB_PORT_Name DB_USER=your_DB_USER_Name DB_PASSWORD=your_DB_PASSWORD DB_NAME=your_DB_NAME
Replace the placeholders with your actual values.
-
Run the bot:
python bot2.py
./snipe
or./s
: Retrieves the last deleted message in the channel../manualverify
or./mv
: Manually triggers age verification for a user../help
or./h
: Displays the help menu with all available commands../gotcha
: Displays Destiny's quote../test1
: Displays a joke../checkyoutube
: Manually checks and displays the latest YouTube video from the specified channel.
Most commands are restricted to users with the following roles:
- NeoPunkFM
- NPFM Affiliate
- Neo-Engineer
- Automatic Verification: New members are automatically prompted for age verification upon joining.
- Content Restriction: Users under 18 are restricted from accessing adult-only channels.
- Manual Verification: Can be triggered by moderators using the
./manualverify
command.
- Automatic Checks: The bot automatically checks for new videos every 5 minutes.
- Manual Checks: Use
./checkyoutube
to manually check for the latest video.
The bot logs important events and errors to both the console and a bot.log
file.
User age information is stored in an SQLite database (users.db
) for persistent age verification.
Contributions to improve the bot are welcome. Please follow these steps:
- Fork the repository
- Create a new branch for your feature
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
- Fixed MySQL datetime error that was present
- Added Snipe command
- Added Slash/Application Command Integration