dbsi
v1.2.5
Published
A Discord bot for SSH commands and server management tasks
Maintainers
Readme
Discord SSH Bot
This is a Discord bot that allows users to execute SSH commands on a remote server directly from a Discord channel. The bot can perform various administrative tasks such as kicking and banning users, deleting channels, and managing server metrics. This is used mainly for a specific use case where the server bot is online but the server itself is not responding to ssh login. At that point we should be able to issue a !restart command!
Features
- Responds to basic commands like
!ping. - Kick and ban users with appropriate permissions.
- Delete channels with manage channels permission.
- Retrieve server metrics via SSH.
- Restart and shut down the server with administrator permissions.
Prerequisites
- Node.js (version 14 or higher)
- A Discord bot token
- SSH access to a remote server
- Environment variables for configuration
Installation
Clone the repository:
git clone https://github.com/ripsnortntear/Discord_Bot_for_Server_Intergration.git cd Discord_Bot_for_Server_IntergrationInstall dependencies
npm install npm init -yCreate a .env file in the root directory Replace the placeholders with your actual credentials.
TOKEN=INSERT_TOKEN_HERE SERVER_ADDR=INSERT_SERVER_ADDRESS_HERE SSH_PASSWORD=INSERT_SSH_PASSWORD_HERE SSH_PORT=INSERT_SSH_PORT_HERE SSH_USER=INSERT_SSH_USER_HERE SUDO_COMMAND_PASSWORD=SUDO_PASSWORD_HERERun the bot
node bot.js
Service File Example
[Unit]
Description=Discord Bot Service
After=network.target
[Service]
Type=simple
User=$USER
WorkingDirectory=/home/$USER/foo
ExecStart=/usr/bin/node /home/$USER/foo/bot.js
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetCommands
- !ping: Responds with "Pong!" to check if the bot is responsive.
- !kick @user: Kicks the mentioned user from the server (requires KICK_MEMBERS permission).
- !ban @user: Bans the mentioned user from the server (requires BAN_MEMBERS permission).
- !deleteChannel @channel: Deletes the mentioned channel (requires MANAGE_CHANNELS permission).
- !metrics: Retrieves and displays server metrics (CPU, memory, etc.) via SSH.
- !restart: Restarts the server (requires ADMINISTRATOR permission).
- !shutdown: Shuts down the server (requires ADMINISTRATOR permission).
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.
License
This project is licensed under the MIT License. See the MIT License file for details.
Acknowledgments
- Discord.js for the Discord API wrapper.
- ssh2 for SSH connectivity.
Support
If you encounter any issues or have questions, please open an Issue.
