Introduction
Echotron is a powerful and easy-to-use library for creating Telegram bots in Python. With its simple interface and clean design, it allows developers to quickly build and manage Telegram bots. In this guide, we will walk through the installation process, setting up your first bot, and using essential features of the Echotron library.
Step 1: Install Echotron
To get started with Echotron, you need to install it via pip. Open your terminal and type the following command:
pip install echotron
This will install the latest version of Echotron and all its dependencies.
Step 2: Set Up Your Telegram Bot
Before you can start building with Echotron, you need to create a bot on Telegram. Follow these steps:
- Open Telegram and search for BotFather.
- Start a conversation with BotFather and type
/newbot
. - Follow the prompts to name your bot and choose a username.
- After creation, BotFather will provide you with a token. Keep this token safe, as you will need it to interact with the Telegram API.
Step 3: Create a Basic Bot with Echotron
Now that you have installed Echotron and set up your bot, let’s create a basic bot.
- First, import the necessary modules from Echotron:
from echotron import Echotron
from echotron.bot import Bot
# Initialize the bot with your token
bot = Bot("YOUR_BOT_TOKEN")
# Create a handler for the /start command
@bot.on_message("start")
def start_command(message):
bot.send_message(message.chat.id, "Hello! I'm your bot!")
# Start the bot
bot.run()
In this example:
- We initialize the bot using the token obtained from BotFather.
- We create a simple handler for the
/start
command. When a user sends/start
to the bot, it replies with “Hello! I’m your bot!” - Finally,
bot.run()
starts the bot and listens for incoming messages.
Step 4: Handle More Commands
You can easily add more commands to your bot. For example, let’s add a /help
command:
@bot.on_message("help")
def help_command(message):
bot.send_message(message.chat.id, "This is your helpful bot. Available commands: /start, /help")
Now, when users send /help
to the bot, it will reply with a message listing available commands.
Step 5: Use Inline Keyboards and Callbacks
Echotron also supports inline keyboards. Let’s add a button that users can click, and handle its callback:
from echotron.types import InlineKeyboardButton, InlineKeyboardMarkup
@bot.on_message("button")
def send_button(message):
keyboard = InlineKeyboardMarkup([
[InlineKeyboardButton(text="Click me", callback_data="button_clicked")]
])
bot.send_message(message.chat.id, "Here is a button:", reply_markup=keyboard)
@bot.on_callback_query("button_clicked")
def on_button_click(callback_query):
bot.answer_callback_query(callback_query.id, "Button clicked!")
Here’s what happens:
- When the user sends the message “button”, the bot sends a message with an inline button.
- When the button is clicked, the bot answers with a “Button clicked!” message.
Step 6: Using Webhooks (Optional)
For production use, you might prefer to use webhooks rather than polling. Here’s how to set it up:
bot.set_webhook("https://yourdomain.com/webhook")
Once set, your bot will send updates to the specified URL instead of polling.
Conclusion
With these steps, you now have a basic understanding of how to use Echotron for creating a Telegram bot. You can extend your bot by adding more commands, handling different types of input, and even using inline keyboards and webhooks for more advanced functionality.
For more details, check the official Echotron GitHub repository.
Leave a Reply