import telebot
from [Link] import InlineKeyboardMarkup, InlineKeyboardButton
import json
import os
# Replace with your BotFather API key
API_KEY = 'YOUR_API_KEY'
bot = [Link](API_KEY)
# JSON file path
DATA_FILE = '[Link]'
# Load keywords from file
if [Link](DATA_FILE):
with open(DATA_FILE, 'r') as f:
keywords = [Link](f)
else:
keywords = {}
# Save function
def save_keywords():
with open(DATA_FILE, 'w') as f:
[Link](keywords, f, indent=4)
# Handle /start
@bot.message_handler(commands=['start'])
def handle_start(message):
markup = InlineKeyboardMarkup()
[Link](InlineKeyboardButton("Start", callback_data="start_add_keyword"))
bot.send_message([Link],
"Welcome to the *AiTricker Bot!*\n"
"I can help you auto-reply in your Telegram group using keywords.\n\n"
"➤ Join our Telegram Group: [Link]
"➤ Subscribe to our YouTube Channel: [Link]
"*Tap 'Start' below to add a keyword + link.*",
parse_mode="Markdown",
reply_markup=markup
)
# Handle button press
@bot.callback_query_handler(func=lambda call: [Link] == "start_add_keyword")
def callback_start(call):
msg = bot.send_message([Link], "Please type your keyword:")
bot.register_next_step_handler(msg, get_keyword)
def get_keyword(message):
keyword = [Link]().lower()
if not keyword:
bot.send_message([Link], "Keyword cannot be empty.")
return
msg = bot.send_message([Link], "Now send the link or message you want
to associate with this keyword:")
bot.register_next_step_handler(msg, lambda m: save_keyword_pair(m, keyword))
def save_keyword_pair(message, keyword):
response = [Link]()
keywords[keyword] = response
save_keywords()
bot.send_message([Link], "✅ Your keyword has been saved
successfully.")
# Auto-reply in groups
@bot.message_handler(func=lambda message: True, content_types=['text'])
def auto_reply(message):
if [Link] in ['group', 'supergroup']:
key = [Link]().lower()
if key in keywords:
bot.reply_to(message, keywords[key])
# /list command
@bot.message_handler(commands=['list'])
def list_keywords(message):
if keywords:
msg = "\n".join([f"➤ `{k}` → {v}" for k, v in [Link]()])
bot.send_message([Link], f"*Stored Keywords:*\n{msg}",
parse_mode="Markdown")
else:
bot.send_message([Link], "No keywords saved yet.")
# /remove command
@bot.message_handler(commands=['remove'])
def remove_keyword(message):
msg = bot.send_message([Link], "Type the keyword you want to delete:")
bot.register_next_step_handler(msg, delete_keyword)
def delete_keyword(message):
key = [Link]().lower()
if key in keywords:
del keywords[key]
save_keywords()
bot.send_message([Link], f"✅ Keyword `{key}` removed.",
parse_mode="Markdown")
else:
bot.send_message([Link], "Keyword not found.")
# /settings placeholder
@bot.message_handler(commands=['settings'])
def settings(message):
bot.send_message([Link], "Settings feature is coming soon...")
# Set commands
bot.set_my_commands([
[Link]("/start", "Start the bot"),
[Link]("/list", "View all keywords"),
[Link]("/remove", "Delete a keyword"),
[Link]("/settings", "Bot settings"),
])
print("Bot is running...")
bot.infinity_polling()