Reco PC Server is a cross platform PC Controller Discord Bot which is a modified and improved version of Chimera for Reco-Discord PC Remote Controller app & it's written in Python discord.py.
Using Reco you can easily control your computer remotely and have it do from simple tasks such as shutdown, sleep, and lock to opening a website or executing powershell commands.
Reco PC Server 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 Reco PC Server is an easy 3 minute process. 🎬 YouTube - Reco Playlist
If you have any issues with Reco or you just want the latest news on the developement of the bot you can visit our support server for more info.
- Reco-Mobile App
- 🔸Commands List
- Commands Documentation
- 🔸Installation Process
- Installation Error-Help
- Restricters
- Setting up Task Scheduler for Reco-Startup
- For Contributing
- Donate
- Credits
- Contributors
Reco - Mobile App ↟
Reco: Discord PC Remote Controller-Mobile App is now available on Play Store✌.
🎬 YouTube - How to install and use Reco - Mobile App
- Reco-Mobile App contain 4 tabs
- Home Screen
- Media Screen
- Command Screen
- Webhook Screen
Requirements: ↟
Note: You only need to manually install Python to get started. All other dependencies will be automatically downloaded & installed after running setup.bat or setup.sh. (#installation_process)
- discord.py
- mss
- opencv-python
- Pillow
- playsound
- plyer
- pycaw
- pynput
- pyperclip
- Python 3
- python-dotenv
- pytube
- pystray
- speedtest-cli
- win10toast
Features List: ↟
- Abort
- Alert
- App Quitter
- Battery Level
- Battery Report Generator
- Camera
- Clip
- Cmd
- Commands
- Echo
- File
- Help
- Hibernate
- Launch
- Lock
- Log
- Media
- Music
- Notification
- Powershell
- Printer
- Processes
- Reco
- Restart
- RPC
- Say
- Screenshot
- Search (Google)
- Shutdown
- SignOut (LogOff)
- Sleep
- Speedtest
- System Info
- URL Launcher
- Version Checker
- Wake
- Wlan Signal
- YouTube (search)
Features Documentation: ↟
★ Abort ⇪
-
!abort
Aborts the Shutdown or Restart schedule.
e.g: !abort
★ Alert ⇪
-
!alert on or !alert off or !alert onwithbeep
Alerts user interaction.
e.g: !alert onwithbeep
★ AppQuitter ⇪
-
!appquitter PID/Application_Name or !appquitter PID/Application_Name minutes
Quits the specified application immediately or with a time delay in minutes.
e.g: !appquitter chrome 30
★ Battery Level ⇪
-
!batterylevel or !batterylevel show
To check the estimated battery charge remaining.
e.g: !batterylevel
★ Battery Report Generator ⇪
-
!batteryreport or !batteryreport file
Generates a detailed battery report for your PC. Screenshots
e.g: !batteryreport
★ Camera ⇪
-
!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
★ Clip ⇪
-
!clip text or !clip get
!clip - Copy the message to your PC's Clipboard. !clip get - Get data from PC's Clipboard
e.g: !clip Copy this text to PC's Clipboard
★ Cmd ⇪
-
!cmd "command"
Executes command in cmd.exe.
e.g: !cmd shutdown -a
★ Commands ⇪
-
!commands
Shows all Reco Commands.
e.g: !commands
★ Echo ⇪
-
!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 (or) !echo off
★ File ⇪
-
!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 from your system - save => saves a file to your saved_files directory in your system from the chat - save folder => opens the saved_files directory - rsave => saves a file to your current relaive path from the chat - open => opens the current relative path - download => saves a file from a direct url to the your system
★ Help ⇪
-
!help or !help command
Shows Reco help, listing commands of shows help for a specific command.
e.g: !help screenshot
★ Hibernate ⇪
-
!hibernate or !hibernate minutes
Hibernates your computer immediately or with a time delay in minutes.
e.g: !hibernate 30
★ Launch ⇪
-
!launch shortcut or !launch list or !launch list_index
Launches a custom shortcut you placed in the shortcuts folder.
e.g: !launch Application_Name_in_Shortcut_Folder
★ Lock ⇪
-
!lock or !lock minutes
Locks your computer immediately or with a time delay in minutes.
e.g: !lock 30
★ Log ⇪
-
!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 2021-02-08
★ Media ⇪
-
!media command or !media command time/times time
Controls computer media playback and volume once or repeatedly.
For Play, Pause, and Stop commands have delay_n_minutes feature.
e.g: !media prev 2 list of commands: - vol-up - vol-down - vol-mute - say-cv - cv - next - prev - stop - play - pause - key-tab - key-space - key-enter - key-up - key-down - key-left - key-right - key-close - key-quit
★ Music ⇪
-
!music "query" or !m "query"
"query" can be a song name or video link or playlist link
Plays video music from YouTube in VLC Player.
⚠ To use this command you need to add VLC to the Path (Environmental Variables)
Default path: C:\Program Files\VideoLAN\VLC
Trouble in Playing Music in VLC?
If VLC shows some error while trying to play a song.
⚠ Try Replacing youtube.lua file from VLC.
Default path: C:\Program Files\VideoLAN\VLC\lua\playlist
e.g: !music The Nights or !m The Nights !m quit - Quits the VLC Player. !m play - Play the paused song. !m pause - Pause the current playing song. !m stop - Stops the song. !m next - Play the next song if you have any queued song. !m prev - Play the previous song if you have any queued song.
Advanced Music commands:
⚠ You can even download any video from YouTube using Reco into .mp3 or .mp4 file.
⚠⚠IMPORTANT: Sometimes Download feature won't work, maybe it's because of some changes made on YouTube's API and it will take time to get new some new update from Pytube package✌.
e.g: !music dm The Nights or !m dm The Nights !m dm *query* - Downloads music files. !m dv *query* - Downloads videos files. !m df - Shows Download folder.
★ Notification ⇪
-
!notification "message"
Sends a notification to the computer.
e.g: !notification who are you?
★ Powershell ⇪
-
!powershell "command"
Executes command in Powershell.
e.g: !powershell shutdown -s -t 300
★ Printer ⇪
-
!printer
To print documents from Discord.
- !printer showprinters or showp - !printer showcurrentprinter or showcp - !printer showdefaultprinter or showdp - !printer setcurrentprinter NUM or setcp NUM - !printer setcp reset or setcp none - !printer setdefaultprinter NUM or setdp NUM - !printer folder list or folder - !printer folder open - !printer folder upload or upload - !printer folder delete - !printer folder delete NUM - !printer folder print (optional Attributes: p_ n_ c_ o_) - !printer jobs list or jobs - !printer jobs delete - !printer jobs delete Num - !printer print (optional Attributes: p_ n_ c_ o_) - !printer print "FILE_PATH-WITH DOUBLE QUOTES" (optional Attributes: p_ n_ c_ o_) 🔸 Optional Attributes can be used with print parameters. 🔸 All Optional Attributes are optional. 🔸 Remember: p(NUM) > Current Printer > Default Printer 🔸 Optional Attributes -> p(NUM) n(NUM) c(b/c) o(p/l) Explanations: p(Num) -> p1 -> Printer Number n(NUM) -> n1 -> No of Copies c(b/c) -> cb -> Color Mode b -> Black & White c -> Color o(p/l) -> op -> Orientation p -> Potrait l -> Landscape eg: Read 1st point in FYI. !printer folder print n2 cc !printer folder print p3 n2 op !printer print n5 ol !printer print "C:\Users\krish\Desktop\print test.txt" n2
★ Processes ⇪
-
!processes
Shows the current Foreground Apps with PID.
e.g: !processes
★ Reco ⇪
-
!reco
Shows all about your Reco PC Server.
e.g: !reco
★ Restart ⇪
-
!restart or !restart minutes
Restarts your computer immediately or with a time delay in minutes.
e.g: !restart 30
★ RPC ⇪
-
!rpc start or !rpc stop or !rpc restart
Shows Rich Presences.
e.g: !rpc start
★ Say ⇪
-
!say "text"
Uses powershell commands and a TTS engine to make your computer say something.
e.g: !say Reco
★ ScreenShot ⇪
-
!screenshot or !screenshot seconds
Takes a screenshot of your computer and sends it back to you.
e.g: !screenshot 1
★ Google Search ⇪
-
!search or !search query
Helps you to search your query in Google very easily.
e.g: !search Reco Discord PC Remote Controller
★ Shutdown ⇪
-
!shutdown or !shutdown minutes
Shuts down your computer immediately or with a time delay in minutes.
e.g: !shutdown 30
★ SignOut ⇪
-
!signout or !signout minutes
Sign out your user immediately or with a time delay in minutes.
e.g: !signout 30
★ Sleep ⇪
-
!sleep or !sleep minutes >
Sleeps your computer immediately or with a time delay in minutes.
e.g: !sleep 30
★ Speedtest ⇪
-
!speedtest
Shows your internet speed.
e.g: !speedtest
★ System Info ⇪
-
!systeminfo
Shows your System Information.
e.g: !systeminfo
★ URL Launcher ⇪
-
!url website
Opens the website in your browser.
e.g: !url www.google.com
★ Version Checker ⇪
-
!version
Shows the current version of Reco PC Server.
e.g: !version
★ Wlan Signal ⇪
-
!wlansignal
To check the signal strength of a Wi-Fi Connection.
e.g: !wlansignal
★ Wake ⇪
-
!wake on or !wake off
Keeps screen always on.
e.g: !wake on
★ Whatsapp ⇪
-
!whatsapp countryCode_MobileNumber or !whatsapp web
Opens chat screen for entered mobile number (Click to Chat feature).
e.g: !whatsapp 911234567890
★ YouTube Search ⇪
-
!yt play query or !youtube search
Shows search result on YouTube.
e.g: !yt Avicii - The Nights
Note:
- All above commands works best on and some commands may not work on other platforms.
- And some commands may require elevated privileges on Linux.
Installation: ↟
- Download & Install Python - Remember: Tick the Add to path checkBox during installation.
- Create a bot and get its token by following these instructions: https://youtu.be/-m-Z7Wav-fM
- ⚠ Don't forget to turn ON these three switches in Discord Developer Portal.
- Download the Reco PC Server Repository, run setup.bat on Windows or setup.sh on Linux and put your Bot Token in the newly created .env file.
- Get Webhook URL from your Channel and add it in your Webhook tab in your Reco mobile App. https://www.youtube.com/watch?v=2Fcvg-Bh7Oo&t=1s
- Launch reco.pyw, right click on the system tray icon and hit Connect to invite Reco Pc Server to your Discord server.
- Enjoy!🥳
Click below GIF to see the video.
To Deal with any Error during Installation: ↟
error: Microsoft Visual C 14.0 or greater is required. Get it with "Microsoft C Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
----------------------------------------
ERROR: Failed building wheel for multidict
Failed to build yarl multidict
ERROR: Could not build wheels for yarl, multidict which use PEP 517 and cannot be installed directly```
- Its an simple error and can easily solved by following below instrustion:
- We will Just Install and then Uninstall - Visual Studio C Build Tools.
- Now, just install Visual Studio Installer and then install Build Tools.
- And now try again to run setup.bat on Windows or setup.sh on Linux from Downloaded Reco Folder.
- After successfully installed Reco setup, Paste your Bot Token in the newly created .env file & continue following the instuction from the 4th Step
- And, now you can uninstall Visual Studio Installer from Controll Panel
- To solve this issue just copy and paste the path which is given in the error in The Environmental variable.
-
eg:
WARNING: The script chardetect.exe is installed in 'C:\Users\USER_NAME\AppData\Roaming\Python\Python39\Scripts' which is not on PATH.
-
If you get above given error in the console while running setup.bat or setup.sh. Then follow below given instruction.
-
Copy the Path from the error given in the setup.bat console or change the username in this path and try it: C:\Users\ USER_NAME\AppData\Roaming\Python\Python39\Scripts
-
Now go to Start Menu and Type: Edit environment variables for your account
-
In that click Path and then add the copied path in that field and click OK.
-
And now try again to run setup.bat on Windows or setup.sh on Linux from Downloaded Reco Folder.
-
After successfully installed Reco setup, Paste your Bot Token in the newly created .env file & continue following the instuction from the 4th Step
-
User Restricter: ↟
-
Using this feature you can easily restrict commands permission by adding User's Id in user_restricter.py file.
-
Follow the commented instruction in that file.
Synatx for webhook restricter:
{ #1️⃣ Replace User Name 'userName':'Demo(GAK)', # Here you can enter the User name, so you can identify easily in this file. #2️⃣ Replace User ID 'userId':'113595095059988521', # Watch this video if you don't know how to get User ID - https://youtu.be/OS2rp7wHVTI #3️⃣ Before sharing your Reco with others. you can set permission to each commands as you wish🥳 # "True" => means Permission granted to use the command. # "False" => means Permission Denied to use the command. # For safety and security purposes we have set False as default for all commands and you can override by mentioning commands permission down here. # ⚠ Powerfull Commands: (All powerfull commands will be "False" by default) '!abort':False, '!appquitter':False, '!cmd':False, '!file': False, '!hibernate':False, '!lock':False, '!logoff':False, 'media_Close&QuitKeys':False, # !media key-close, !media key-quit '!powershell':False, '!restart':False, '!shutdown':False, '!sleep':False, # Moderate Commands: '!camera':True, '!clip':True, '!launch':True, '!screenshot':True, # Media Commands: (!media) 'media_Function_Keys':True, # next, prev, stop, play, pause 'media_Volume_Keys':True, # vol-up, vol-down, vol-mute 'media_ArrowKeys':True, # key-up, key-down, key-left, key-right 'media_Tab,Space&EnterKeys':True, # key-tab, key-space, key-enter 'other_media_commands':True, # say-vol, cv # Other Commands: '!batterylevel':True, '!batteryreport':True, '!echo':True, '!log':True, '!music':True, '!m':True, '!notification':True, '!help':True, '!processes':True, '!search':True, '!say':True, '!speedtest':True, '!systeminfo':True, '!url':True, '!version':True, '!whatsapp':True, '!wlansignal':True, '!youtube':True, },
Webhook Restricter: ↟
🎬 YouTube - How to use Webhook Restricter
-
Using Reco mobile app you can easily control your PC using webhook. And if you want to share your webhooks with others and you want to restrict some commands.
-
You can restrict so easily by adding that webhook in webhook_restricter.py file.
-
Follow the commented instruction in that file.
Synatx for webhook restricter:
{ #1️⃣ Replace webhook Name 'webhookName':'Demo webhook', # Here you can enter the Webhook name, so you can identify easily in this file. #2️⃣ Replace webhook URL & ID 'webhookURL':'https://discord.com/api/webhooks/841227223729700866/aW4XpuFTUfweJIcQAqTSgikXZu6r5r6Q8MK_rOawf6qj_dyAUVQUCzbTm6Is0Bs8bQFG', 'webhookId':'841227223729700866', # You can obtain the "webhook id" by looking at the webhook URL, the number after https://discord.com/api/webhooks/ is the "id" , and the part after that is the token. #3️⃣ Before sharing your Webhook URL to others. you can set permission to each commands as you wish🥳 # "True" => means Permission granted to use the command. # "False" => means Permission Denied to use the command. # ⚠ Powerfull Commands: (All powerfull commands will be "False" by default) '!abort':False, '!appquitter':False, '!cmd':False, '!file': False, '!hibernate':False, '!lock':False, '!logoff':False, 'media_Close&QuitKeys':False, # !media key-close, !media key-quit '!powershell':False, '!restart':False, '!shutdown':False, '!sleep':False, # Moderate Commands: '!camera':True, '!clip':True, '!launch':True, '!screenshot':True, # Media Commands: (!media) 'media_Function_Keys':True, # next, prev, stop, play, pause 'media_Volume_Keys':True, # vol-up, vol-down, vol-mute 'media_ArrowKeys':True, # key-up, key-down, key-left, key-right 'media_Tab,Space&EnterKeys':True, # key-tab, key-space, key-enter 'other_media_commands':True, # say-vol, cv # Other Commands: '!batterylevel':True, '!batteryreport':True, '!echo':True, '!log':True, '!music':True, '!m':True, '!notification':True, '!help':True, '!processes':True, '!search':True, '!say':True, '!speedtest':True, '!systeminfo':True, '!url':True, '!version':True, '!whatsapp':True, '!wlansignal':True, '!youtube':True, },
Setting up Task Scheduler for Reco-Startup: ↟
These instruction will help you to setup Reco to startup automatically when we start your PC. It looks like lenghty but its so easy to setup, just follow the steps. So chill, do and have fun...
🎬 YouTube - How to set up Reco Startup using Task Scheduler
- Open Task Scheduler by typing it inside the start menu.
- click Create Task
- Enter the Name as Reco Startup
- And now check(✔) the Run with highest privileges checkBox
- And then, go to Triggers tab and click New
- And set Begin the task: At log on and also set Delay task for: 8 seconds and then click OK
- And again click New and set Begin the task: On Workstation Unlock - Any user and also set Delay task for: 8 seconds and then click OK
- And now go to Actions tab and click New
- Now set
- Action: Start a Program
- Program/script: C:\Users\USERNAME\AppData\Local\Programs\Python\Python39\pythonw.exe (change the USERNAME in this path to your username)
- Add arguments(optional): reco.pyw
- Start in (optional): C:\Users\USERNAME\Downloads\Reco-PC-Server-main (change the USERNAME in this path to your username or paste the downloaded RecoPCServer Repository path)
- And click OK
- And now go to Conditions tab and uncheck all the checkBox and Check(✔) ONLY Network CheckBox -> (Start only if following network connection avaliable: Any Connection)
- And now Click OK
- Next time when you turn on your PC - Reco will Start Automatically🥳.
Contributing: ↟
Reco 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 Reco 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 reco.pyw. The file is full of examples.
- Test Reco PC Server 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
Donate ↟
If you found this project helpful and want to thank me, consider buying me a cup of ☕
Credits: ↟
- CedArctic and all contributors for creating Chimera which is modified and improved. And now it act as a server(PC controller) for Reco-Discord PC Remote Controller app.
- A special thanks goes to Big Flubba#3494 for assisting in the developement and ideas for Reco along with the creation of the support server.
Contributors: ↟
- CedArctic
- Zachman61
- vfcoelho
- DragosPopse
- TGlide
- vlad4him
- sn0wmanmj
- cominixo01
- medusalix
- kostino
- Big Flubba
If you found this project useful, then please consider giving it a ⭐ on Github and sharing it with your friends via social media.