|
1 |
| -# NeoPunkXM Discord Bot |
2 |
| - |
3 |
| - |
4 |
| - |
5 |
| - |
6 |
| - |
7 |
| -NeoPunkXM is a Discord bot designed to manage age verification, provide various utility commands, and post YouTube video updates to a specified channel. |
8 |
| - |
9 |
| -## Features |
10 |
| - |
11 |
| -- Age verification for new members |
12 |
| -- Manual age verification for existing members |
13 |
| -- Restriction of adult content for underage users |
14 |
| -- YouTube video update notifications |
15 |
| -- Various utility and fun commands |
16 |
| - |
17 |
| -## Setup |
18 |
| - |
19 |
| -1. Clone this repository to your local machine. |
20 |
| - |
21 |
| -2. Create a virtual environment and activate it: |
22 |
| - ``` |
23 |
| - python -m venv venv |
24 |
| - source venv/bin/activate # On Windows use `venv\Scripts\activate` |
| 1 | +# NeoPunkXM Bot v1.0.2 |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +NeoPunkXM Bot is a versatile Discord bot designed to enhance your server with a variety of features, including user management, announcements, and miscellaneous fun commands. This release includes several key functionalities and improvements to make your server management more efficient and engaging. |
| 6 | + |
| 7 | +## Key Features |
| 8 | + |
| 9 | +### User Management |
| 10 | +- **Manual Verification**: Allows administrators to manually verify users' ages and manage access to age-restricted channels. |
| 11 | + - **Command**: `./manualverify @user` |
| 12 | + - **Description**: Sends an age verification prompt to the specified user. |
| 13 | + |
| 14 | +### Announcements |
| 15 | +- **Send Announcements**: Allows users with specific roles to send announcements to any text channel in the server. |
| 16 | + - **Command**: `./announce #channel <message>` |
| 17 | + - **Description**: Sends an announcement to the specified channel as an embed, mentioning the user who sent it. |
| 18 | + - **Roles Required**: `NeoPunkFM`, `NPFM Affiliate`, `Neo-Engineer` |
| 19 | + |
| 20 | +### Miscellaneous |
| 21 | +- **Gotcha**: A fun command that sends a predefined message. |
| 22 | + - **Command**: `./gotcha` |
| 23 | + - **Description**: Sends a fun message to the channel. |
| 24 | + |
| 25 | +- **Test1**: Another fun command for sending a predefined joke. |
| 26 | + - **Command**: `./test1` |
| 27 | + - **Description**: Sends a joke to the channel. |
| 28 | + |
| 29 | +- **Check YouTube**: Checks and displays the latest YouTube video from a specified channel. |
| 30 | + - **Command**: `./checkyoutube` |
| 31 | + - **Description**: Displays the latest YouTube video link. |
| 32 | + - **Roles Required**: `NeoPunkFM`, `NPFM Affiliate`, `Neo-Engineer` |
| 33 | + |
| 34 | +### Help Command |
| 35 | +- **Help Menu**: Provides a detailed help menu with all available commands, grouped into categories. |
| 36 | + - **Command**: `./help` or `./h` |
| 37 | + - **Description**: Displays the help menu with command descriptions and usage. |
| 38 | + |
| 39 | +## Installation |
| 40 | + |
| 41 | +1. Clone the repository: |
| 42 | + ```bash |
| 43 | + git clone https://github.com/yourusername/neopunkxm-bot.git |
| 44 | + cd neopunkxm-bot |
25 | 45 | ```
|
26 | 46 |
|
27 |
| -3. Install the required dependencies: |
28 |
| - ``` |
29 |
| - pip install discord.py python-dotenv google-api-python-client |
| 47 | +2. Install the required dependencies: |
| 48 | + ```bash |
| 49 | + pip install -r requirements.txt |
30 | 50 | ```
|
31 | 51 |
|
32 |
| -4. Create a `.env` file in the root directory with the following content: |
| 52 | +3. Set up your `.env` file with the necessary environment variables: |
33 | 53 | ```
|
34 | 54 | BOT_TOKEN=your_discord_bot_token
|
35 |
| - YOUTUBE_API_KEY=your_youtube_api_key |
36 |
| - YOUTUBE_CHANNEL_ID=your_youtube_channel_id |
37 |
| - DISCORD_CHANNEL_ID=your_discord_channel_id |
| 55 | + ANNOUNCEMENT_CHANNEL_ID=your_announcement_channel_id |
38 | 56 | ```
|
39 |
| - Replace the placeholders with your actual values. |
40 | 57 |
|
41 |
| -5. Run the bot: |
| 58 | +4. Run the bot: |
| 59 | + ```bash |
| 60 | + python bot.py |
42 | 61 | ```
|
43 |
| - python bot2.py |
44 |
| - ``` |
45 |
| - |
46 |
| -## Commands |
47 |
| - |
48 |
| -- `./snipe` or `./s`: Retrieves the last deleted message in the channel. |
49 |
| -- `./manualverify` or `./mv`: Manually triggers age verification for a user. |
50 |
| -- `./help` or `./h`: Displays the help menu with all available commands. |
51 |
| -- `./testchannel`: Tests the bot's ability to send messages to the specified channel. |
52 |
| -- `./gotcha`: Displays Destiny's quote. |
53 |
| -- `./test1`: Displays a joke. |
54 |
| -- `./checkyoutube`: Manually checks and displays the latest YouTube video from the specified channel. |
55 |
| - |
56 |
| -## Permissions |
57 |
| - |
58 |
| -Most commands are restricted to users with the following roles: |
59 |
| -- NeoPunkFM |
60 |
| -- NPFM Affiliate |
61 |
| -- Neo-Engineer |
62 |
| - |
63 |
| -## Age Verification |
64 |
| - |
65 |
| -- New members are automatically prompted for age verification upon joining. |
66 |
| -- Users under 18 are restricted from accessing adult-only channels. |
67 |
| -- Manual verification can be triggered by moderators using the `./manualverify` command. |
68 |
| - |
69 |
| -## YouTube Integration |
70 |
| - |
71 |
| -- The bot automatically checks for new videos every 5 minutes. |
72 |
| -- New videos are posted to the specified Discord channel. |
73 |
| -- Use `./checkyoutube` to manually check for the latest video. |
74 |
| - |
75 |
| -## Logging |
76 |
| - |
77 |
| -The bot logs important events and errors to both the console and a `bot.log` file. |
78 |
| - |
79 |
| -## Database |
80 |
| - |
81 |
| -User age information is stored in an SQLite database (`users.db`) for persistent age verification. |
82 |
| - |
83 |
| -## Contributing |
84 |
| - |
85 |
| -Contributions to improve the bot are welcome. Please follow these steps: |
86 |
| -1. Fork the repository |
87 |
| -2. Create a new branch for your feature |
88 |
| -3. Commit your changes |
89 |
| -4. Push to the branch |
90 |
| -5. Create a new Pull Request |
91 |
| - |
92 |
| - |
93 |
| -### Omnipunk-Gemini |
94 |
| -## Gemini AI Integration |
95 |
| - |
96 |
| -This project now includes integration with Google's Gemini AI, providing advanced conversational capabilities to the bot. |
97 |
| - |
98 |
| -### Features |
99 |
| - |
100 |
| -- **AI-Powered Chat**: Users can engage in conversations with the bot using Gemini AI. |
101 |
| -- **Natural Language Processing**: The bot can understand and respond to a wide range of queries and prompts. |
102 |
| -- **Separate Script**: The AI functionality is implemented in a separate script for modularity and ease of maintenance. |
103 |
| - |
104 |
| -### Usage |
105 | 62 |
|
106 |
| -To use the Gemini AI feature: |
| 63 | +## Requirements |
107 | 64 |
|
108 |
| -1. Ensure you have set up the `GEMINI_API_KEY` in your `.env` file. |
109 |
| -2. Use the command `./chat [your message]` to start a conversation with the AI. |
| 65 | +- Python 3.8+ |
| 66 | +- `discord.py` |
| 67 | +- `python-dotenv` |
| 68 | +- `google-api-python-client` |
| 69 | +- `matplotlib` |
| 70 | +- `aiohttp` |
110 | 71 |
|
111 |
| -Example: |
112 |
| -## License |
| 72 | +## Changelog |
113 | 73 |
|
114 |
| -None. Code is free. Like me :) |
| 74 | +### v1.0.2 |
| 75 | +- Improved the `announce` command to allow sending announcements to any specified channel. |
| 76 | +- Updated the help command to reflect current commands. |
| 77 | +- Removed deprecated and unused commands for a cleaner codebase. |
| 78 | +- Fixed an issue with the `announce` command where the `avatar_url` attribute caused an error. |
115 | 79 |
|
116 |
| -## Support |
| 80 | +### v1.0.1 |
| 81 | +- Minor bug fixes and performance improvements. |
117 | 82 |
|
118 |
| -For support, please pray to God, cause lord knows I have no idea what im doing. |
| 83 | +### v1.0.0 |
| 84 | +- Initial release with core features: |
| 85 | + - User management with manual |
0 commit comments