File size: 4,819 Bytes
96e0cc2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#!/usr/bin/env python3
"""
Get Telegram Chat ID for bot notifications
Run this script, then send a message to your bot
"""

import requests
import time

# Your bot token
BOT_TOKEN = "8555333979:AAH_oCYvbXEt6IQ0-qbFdb9kSjdqpyIJcqA"
BASE_URL = f"https://api.telegram.org/bot{BOT_TOKEN}"

def get_bot_info():
    """Get bot information"""
    try:
        response = requests.get(f"{BASE_URL}/getMe")
        if response.status_code == 200:
            bot_info = response.json()
            if bot_info['ok']:
                print("πŸ€– Bot Information:")
                print(f"   Name: {bot_info['result']['first_name']}")
                print(f"   Username: @{bot_info['result']['username']}")
                print(f"   Can read messages: {bot_info['result']['can_read_all_group_messages']}")
                return True
        print(f"❌ Failed to get bot info: {response.text}")
        return False
    except Exception as e:
        print(f"❌ Error: {e}")
        return False

def get_updates():
    """Get recent updates (messages) to extract chat ID"""
    try:
        response = requests.get(f"{BASE_URL}/getUpdates", timeout=30)
        if response.status_code == 200:
            updates = response.json()
            if updates['ok'] and updates['result']:
                print("\nπŸ“¨ Recent Messages:")
                for update in updates['result'][-5:]:  # Show last 5 messages
                    if 'message' in update:
                        message = update['message']
                        chat = message['chat']
                        from_user = message.get('from', {})

                        print(f"\nπŸ’¬ Message from: {from_user.get('first_name', 'Unknown')}")
                        print(f"   Chat ID: {chat['id']}")
                        print(f"   Chat Type: {chat['type']}")
                        print(f"   Message: {message.get('text', 'N/A')}")
                        print(f"   Time: {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(message['date']))}")

                        if chat['type'] == 'private':
                            print(f"\n🎯 YOUR CHAT ID: {chat['id']}")
                            print("   Use this in your .env file as TELEGRAM_CHAT_ID")
                            return chat['id']
                print("\nπŸ’‘ No recent messages found. Send a message to your bot and run this again.")
                return None
            else:
                print("\nπŸ’‘ No messages received yet. Please:")
                print("   1. Open Telegram")
                print("   2. Find your bot: Search for the username shown above")
                print("   3. Send any message to the bot")
                print("   4. Run this script again")
                return None
        else:
            print(f"❌ Failed to get updates: {response.text}")
            return None
    except Exception as e:
        print(f"❌ Error getting updates: {e}")
        return None

def send_test_message(chat_id):
    """Send a test message to confirm chat ID works"""
    try:
        message = "βœ… Telegram integration test successful! Your chat ID is working."
        data = {
            'chat_id': chat_id,
            'text': message
        }
        response = requests.post(f"{BASE_URL}/sendMessage", data=data)
        if response.status_code == 200:
            print("\nπŸ“€ Test message sent! Check your Telegram.")
            return True
        else:
            print(f"❌ Failed to send test message: {response.text}")
            return False
    except Exception as e:
        print(f"❌ Error sending test message: {e}")
        return False

def main():
    print("πŸ” Telegram Chat ID Finder")
    print("=" * 40)

    if not get_bot_info():
        print("❌ Bot token is invalid. Please check your token.")
        return

    print("\n⏳ Waiting for messages... (you have 30 seconds)")
    print("πŸ“± Please send a message to your bot now...")

    chat_id = get_updates()

    if chat_id:
        print(f"\nπŸŽ‰ Found your Chat ID: {chat_id}")

        if send_test_message(chat_id):
            print("\nβœ… Setup complete!")
            print("\nπŸ“ Add this to your .env file:")
            print(f"TELEGRAM_BOT_TOKEN={BOT_TOKEN}")
            print(f"TELEGRAM_CHAT_ID={chat_id}")

            print("\nπŸ“„ Or update your existing .env:")
            print("TELEGRAM_CHAT_ID=your_chat_id_here")
            print(f"             ↑ replace with: {chat_id}")
        else:
            print("\n⚠️ Chat ID found but test message failed.")
            print("   You can still use the chat ID, but double-check your setup.")
    else:
        print("\n❌ No chat ID found.")
        print("   Make sure to send a message to your bot and run this script again.")

if __name__ == "__main__":
    main()