In this tutorial, you will learn how to create a telegram bot to use with python scripts.
This tutorial will allow you to control your Raspberry Pi remotely from anywhere in the world. All you need is an internet connection!
Social networks are often used as an alternative method of communication for electronic projects. It can be an excellent solution for a quick approach to sending instant messages, pictures, or commands remotely.
Telegram is an open-source instant messaging service. It became popular due to the emergence of chat groups with automation possibility. Telegram API is open for integration and it is possible to easily create functional solutions through Telegram.
Bot Setup in Telegram
Go to the telegram search bar and search for “BotFather“:
Once the BothFather screen opens, type the command “/start“:
To create a new bot, type the command “/newbot” into the chat:
Note: Save the “access token”, it will be the key responsible for communication in the next steps.
Setup Raspberry Pi
Connect Pi with SSH
Install “Pip Installs Packages”
sudo apt-get install python-pip
sudo pip install telepot
Now it is necessary to create the executable on the raspberry.
Create a program named “telegrambot” using the code:
sudo nano telegrambot.py
Paste the code below:
# Import the required libraries import sys import time import random import datetime import telepot import RPi.GPIO as GPIO import picamera # Set warnings to false to avoid error messages GPIO.setwarnings(False) Pin numbers of the Raspberry PI configured in BOARD mode. GPIO.setmode(GPIO.BOARD) # Set pin 13 as output GPIO.setup(13, GPIO.OUT) #LED def On(pin): GPIO.output(pin,GPIO.HIGH) return def Off(pin): GPIO.output(pin,GPIO.LOW) return # Commands that come from the Telegram and are processed by the Raspberry PI def handle(msg): chat_id = msg['chat']['id'] command = msg['text'] print ('got command: %s' % command) if command == 'On': bot.sendMessage(chat_id, On(13)) if command =='Off': bot.sendMessage(chat_id, Off(13)) # Allows commands typed in telegram to be sent to Raspberry PI bot = telepot.Bot('Put here your Acess Token') bot.message_loop(handle) print(Waiting Code...') while True: time.sleep(10)
Run the Code
sudo python telegrambot.py
Connect an LED to Rapsberry Pi
Find your bot’s chat window and send the commands you previously configured:
You can use this bot for many different functions on your Raspberry Pi. You can remotely take pictures, connect stream on rpi camera, open gates/doors. Now it’s a simple imagination question!