Chimera (not the mythical beast), is a cross platform System Remote Control Discord Bot written in Python discord.py. Using Chimera you can easily control your computer remotely and have it do from simple tasks such as shutdown, sleep and lock to talking or executing powershell commands. Chimera is a self hosted bot, which means that you have to run the bot on your computer - the machine you want to control via discord commands. Installing Chimera is an easy 3 minute process - you can check the instructions bellow to see how to do it.
- Python 3
- discord.py
- mss
- opencv-python
- pynput
- requests
- python-dotenv
- pystray
- Pillow
- openurl
- lock
- appquitter
- shutdown
- sleep
- hibernate
- restart
- logoff
- cmd
- powershell
- screenshot
- say
- media
- camera
- echo
- log
- file
- launch
- notification
- helpme
-
!helpme or !helpme command
shows Chimera help, listing commands of shows help for a specific command, e.g: !helpme screenshot
-
!openurl url
opens url in default browser, e.g: !openurl https://example.com
-
!lock or !lock seconds
locks your computer immediately or with a time delay in seconds, e.g: !lock 30
-
!appquitter Application_Name or !appquitter Application_Name minutes
quits the specified application immediately or with a time delay in minutes, e.g: !appquitter chrome 30
-
!shutdown or !shutdown seconds
shuts down your computer immediately or with a time delay in seconds, e.g: !shutdown 30
-
!sleep or !sleep seconds
sleeps your computer immediately or with a time delay in seconds, e.g: !sleep 30
-
!hibernate or !hibernate seconds
hibernates your computer immediately or with a time delay in seconds, e.g: !hibernate 30
-
!restart or !restart seconds
restarts your computer immediately or with a time delay in seconds, e.g: !restart 30
-
!logoff or !logoff seconds
logs off your user immediately or with a time delay in seconds, e.g: !logoff 30
-
!cmd "command"
executes command in cmd.exe
-
!powershell "command"
executes command in Powershell
-
!screenshot or !screenshot seconds
takes a screenshot of your computer and sends it back to you
-
!say "text"
uses powershell commands and a TTS engine to make your computer say something
-
!media command or !media command repeat_n_times
controls computer media playback and volume once or repeatedly, e.g: !media prev 2 list of commands: - vol-up - vol-down - vol-mute - next - prev - stop - play - pause
-
!camera command or !camera command time
controls computer camera for taking photo or filming for a given time in seconds (default is 5 seconds), e.g: !camera video 10 list of commands: - video time - photo
-
!echo status
turns on or off !cmd and !powershell command echo in chat. When turned on, the command return will be sent to chat, e.g: !echo on / !echo off
-
!log param or !log param date
turns on or off chat logging or show log for given date (defaults to today), e.g: !log show 2018-10-16
-
!file command or !file command path
browses, saves and retrieves files from or to your computer, e.g: !file relative .. list of commands: - absolute => sets an absolute path - relative => sets a relative path - list => lists current path - retrieve => uploads a file to the chat - save => saves a file to the HD from the chat - download => saves a file from a direct url to the HD
-
!launch shortcut
launches a custom shortcut you placed in the shortcuts folder
-
!notification "message"
sends a notification to the computer
Note: Some commands may require elevated privileges on Linux.
- Download & Install Python
- Create a bot and get its token and then get your channel ID by following these instructions: https://github.com/Chikachi/DiscordIntegration/wiki/How-to-get-a-token-and-channel-ID-for-Discord
- Download the repository, run setup.bat on Windows or setup.sh on Linux and put your Bot Token in the newly created .env file.
- Launch chimera.pyw, right click on the system tray icon and hit Connect to invite chimera to your server
- Enjoy!
Chimera was written to be modular so one can easily modify the code and enhance it. I welcome and greatly appreciate anyone who wishes to contribute a module of their own. Here's how to create a Chimera module:
- Create your *_module.py under the modules directory. See lock_module.py for a good example on how to structure yours
- Create an entry for your modules in chimera.py. The file is full of examples.
- Test Chimera with your changes and make a pull request if everything works well
- Update the README.md file to include your new module and your github profile under Contributors