-
Notifications
You must be signed in to change notification settings - Fork 9
User Manual
TelegramBot module for MagicMirror
[Screen Shot]
- You can remote-control your
MagicMirrorand modules withinTelegram. - The Bot is implemented in this module thus you don't need to manage antoher daemon.
- Other module developers can add their commands easily. (See the Wiki : https://github.com/eouia/MMM-TelegramBot/wiki )
Ref : https://core.telegram.org/bots#6-botfather
- Open your browser in Desktop PC(or your mirror or your phone, anywhere) and Navigate to https://telegram.me/botfather
- Click
Send Messagebutton, then your telegram will be opened in your phone or your PC whichTelegramis already installed on. MeetBotFather. - Command
/newbot, give anameto the bot created, give anusername.usernameshould end withbot. (e.g.MyMagicMirrorBotormystupidslave-bot... ) - After created, you can get API Token. It looks like
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Remember that. - Read messages from
BotFather. You can find your bot and change chat room of your Bot. Type anything, but your bot will not react yet.
- In your mirror, open terminal and execute below;
cd ~/MagicMirror/modules
git clone https://github.com/eouia/MMM-TelegramBot.git
cd modules/MMM-TelegramBot
npm install
- Open
.envfile in yourMMM-TelegramBotmodule directory. Or copy it fromenv.example. Then, put your API Key into it.
# .env
TELEGRAM_API_KEY=110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw- Open
config.jsofMagicMirror, add these;
{
module: 'MMM-TelegramBot',
config: {
allowedUser : ['<your Telegram username without @>'], // This is NOT the username of bot.
}
},
- restart your
MagicMirror.
- Back to the chat room with your Bot in Telegram, try
/helpor/commands. Your bot will react! - Now,try
/mychatid. This command will show the id of this chat room. Thechat idlooks like12345678. Remember that. We will use this id for admin.
- Open
config.jsagain.
{
module: 'MMM-TelegramBot',
config: {
allowedUser : ['<your Telegram username without @>'],
adminChatId : <your admin chat id>,
}
},
- Restart your
MagicMirror. - You can get welcome message in your admin chat room. Now you can use Bot!
Try /commands in your TelegramBot. Supported commands are dependent on which module you've installed.
Currently supported commands and modules are below;
help - Show description of commands
commands - List of available commands
modules - List of current installed modules
mychatid - Show `chatId` of this chat room
allowed - List of allowed users
allowuser - Allow user temporally
hideall - Hide All modules
showall - Show All modules
alert - Show alert message on your `MagicMirror`
reboot - Reboot `MagicMirror`
shutdown - Shutdown `MagicMirror`
dismissalert - Remove Alert from Mirror
favor - Load favourite commands as keyboard
recent - Load recent used commands as keyboard
resetkeyboard - Reset Kyeboard
shell - Execute shell script/command directly
notification - Send custom notification
screenshot - Take a screenshot of MagicMirror
UPDATED
You can use the result of /commands for /setcommands of BotFather.
- For naming commands, use lower case letters.
- For description, First sentence or line-break should happen in 32 chars.
Okay, maybe I can add those commands with ease. But I think this module as some kind of interface between user and module. Therefore the best is that the module supports Telegram commands by itself. It is not difficult, really. So, you'd better ask the module developer to support this feature.
By example; I COULD add /screen on and /screen off in TelegramBot. But I didn't. Because there are so many modules which turn the screen on and off, So I think those commands SHOULD belong to those modules.
If you get a rejection from module developer, I'll consider implementing that command in TelegramBot.
UPDATED
However I made a module for default system controls. Use MMM-Tools.
UPDATED Since 1.1.0 I added the feature of custom command by user's own. Now you don't need to request command to module developer. Read **Custom Command
First, your Mirror should be running on.
Second, Your Mirror should have no error or exception on running currently.
Third, Some commands might not react. Ask the command provider.
Last, If your TelegramBot was out of works(when your mirror was powered off, or your mirror was halted by error...), the old commands are not executed. Because it could make unintended execution. So TelegramBot will ignore old commands.