Files
Place-Order-Trading-Bot/test_telegram_bot.py
T

113 lines
2.9 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
"""
🧪 TEST TELEGRAM BOT - Without MT5 dependency
Testet ob Telegram Bot grundsätzlich funktioniert
"""
import asyncio
from datetime import datetime
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
import json
# Load config
with open('telegram_config.json', 'r') as f:
config = json.load(f)
bot_token = config['bot_token']
chat_id = config['chat_id']
print("="*70)
print("🧪 TELEGRAM BOT TEST")
print("="*70)
print(f"Bot Token: {bot_token[:20]}...")
print(f"Chat ID: {chat_id}")
print()
# Simple command handlers (no MT5 required)
async def cmd_start(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /start"""
message = (
"🤖 *Telegram Bot Test*\n\n"
"✅ Bot is running!\n\n"
"Send /help to see commands"
)
await update.message.reply_text(message, parse_mode='Markdown')
async def cmd_help(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /help"""
message = """
📚 *Test Commands*
/start - Test bot connection
/help - Show this help
/ping - Test response
/time - Show current time
✅ If you see this, the bot is working!
"""
await update.message.reply_text(message, parse_mode='Markdown')
async def cmd_ping(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /ping"""
await update.message.reply_text("🏓 Pong! Bot is alive! ✅")
async def cmd_time(update: Update, context: ContextTypes.DEFAULT_TYPE):
"""Handle /time"""
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
await update.message.reply_text(f"🕐 Current time: {now}")
async def main():
"""Main function"""
print("🚀 Creating bot application...")
# Create application
application = Application.builder().token(bot_token).build()
# Add handlers
application.add_handler(CommandHandler("start", cmd_start))
application.add_handler(CommandHandler("help", cmd_help))
application.add_handler(CommandHandler("ping", cmd_ping))
application.add_handler(CommandHandler("time", cmd_time))
print("✅ Handlers registered")
print("🚀 Starting bot...")
print("📱 Go to Telegram and send /help to test")
print()
# Send startup message
await application.bot.send_message(
chat_id=chat_id,
text="🧪 *Test Bot Started*\n\nSend /help to test commands",
parse_mode='Markdown'
)
# Start polling
await application.initialize()
await application.start()
await application.updater.start_polling()
print("✅ Bot is running!")
print("Press Ctrl+C to stop")
print()
# Keep running
try:
while True:
await asyncio.sleep(1)
except KeyboardInterrupt:
print("\n⏸️ Stopping bot...")
await application.stop()
await application.shutdown()
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
print("\n✅ Bot stopped")