Skip to content

Commit

Permalink
Rewrote the script to not be dependent on external packages
Browse files Browse the repository at this point in the history
In this update I've completely updated tosint, now it only requires the "requests" package and no longer "python-telegram-bot".
  • Loading branch information
drego85 committed Feb 8, 2024
1 parent 3ee94d4 commit 284af22
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 87 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,36 @@ Tosint allows you to extract the following information:

* Bot information (First Name, Username, User ID, Status);
* Chat information (Title, Type, ID, Username, Invite Link);
* Create Invite Link;
* Updates (last messages sent in the chat);
* Invite Link;
* Number of users in the chat;
* Information about chat administrators.

### Example

```
$ python3 main.py
Telegram Token (bot1xxx): 15968583XX:XXXXXXX_WhUt9sarlxIPZRXXXXX
Telegram Chat ID (-100xxx): -10XXXXX862846
Telegram Token (bot1xxx): 562ZZZZ900:XXXXNj7_wIEi74GXXX90CIxACBIX_YYYYwI
Telegram Chat ID (-100xxx): -1001XXXXXX196
Analysis of token: 15968583XX:XXXXXXX_WhUt9sarlxIPZRXXXXX and chat id: -10XXXXX862846
Analysis of token: 562ZZZZ900:XXXXNj7_wIEi74GXXX90CIxACBIX_YYYYwI and chat id: -1001XXXXXX196
Bot First Name: siXXben
Bot Username: simXXXXbot
Bot User ID: 180XXZ1378
Bot First Name: Over Security Bot
Bot Username: over_security_bot
Bot User ID: 56XXXXXX00
Bot Can Read Group Messages: False
Bot in the chat is an: member
Chat Title: CaXXX
Bot In The Chat Is An: administrator
Chat Title: Over Security
Chat Type: channel
Chat ID: -1001XXXX62846
Chat Username: None
Chat Invite Link: https://t.me/joinchat/wGM1_XXXXcU2Mzdk
Chat Invite Link: https://t.me/joinchat/7hyptXXXXXg1MDI8
Create Invite Link: https://t.me/joinchat/fJ-XXXXXpEA0YWVk
Number of users in the chat: 3
Chat ID: -100XXXXXX3196
Chat has Visible History: True
Chat Username: OverSecurity
Chat Invite Link: https://t.me/+VmWXXXXXXHI1MTM0
Chat Invite Link (exported): https://t.me/+AqcXXXXXXGJmZjk0
Chat Invite Link (created): https://t.me/+LCsXXXXXXMgyYTg0
Number of users in the chat: 286
Administrators in the chat:
{'id': 159XXX8335, 'is_bot': True, 'first_name': 'siXXben', 'username': 'simXXXXbot'}
{'id': 919XXX436, 'is_bot': False, 'first_name': 'SXXXi', 'last_name': 'VXXX', 'language_code': 'ar', 'username': 'SimXXXX201'}
{'id': 56XXXXXX00, 'is_bot': True, 'first_name': 'Over Security Bot', 'username': 'over_security_bot'}
{'id': 20XXXX39, 'is_bot': False, 'first_name': 'Andrea', 'last_name': 'Draghetti', 'username': 'AndreaDraghetti'}
```

### License
Expand Down
135 changes: 67 additions & 68 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
import telegram

import json
import requests

def main():
telegram_token = input("Telegram Token (bot1xxx): ").strip()
Expand All @@ -11,72 +11,71 @@ def main():

print("\nAnalysis of token: " + str(telegram_token) + " and chat id: " + str(telegram_chat_id) + "\n")

try:
bot = telegram.Bot(telegram_token)
except Exception as e:
print("Error: " + str(e))
bot = None
exit()

if bot:
try:
telegram_get_me = bot.getMe()
print("Bot First Name: " + str(telegram_get_me["first_name"]))
print("Bot Username: " + str(telegram_get_me["username"]))
telegram_bot_user_id = telegram_get_me["id"]
print("Bot User ID: " + str(telegram_bot_user_id))
print("Bot Can Read Group Messages: " + str(telegram_get_me["can_read_all_group_messages"]))
telegram_get_chat_member = bot.get_chat_member(telegram_chat_id, telegram_bot_user_id)
print("Bot In The Chat Is An: " + telegram_get_chat_member["status"])
except:
pass

try:
telegram_get_chat = bot.getChat(telegram_chat_id)
print("Chat Title: " + str(telegram_get_chat["title"]))
print("Chat Type: " + str(telegram_get_chat["type"]))
print("Chat ID: " + str(telegram_get_chat["id"]))
print("Chat Username: " + str(telegram_get_chat["username"]))
print("Chat Invite Link: " + str(telegram_get_chat["invite_link"]))
except:
pass

try:
telegram_chat_invite_link = bot.export_chat_invite_link(telegram_chat_id)
print("Chat Invite Link: " + str(telegram_chat_invite_link))
except:
pass

try:
telegram_chat_invite_link = bot.create_chat_invite_link(telegram_chat_id)
print("Create Invite Link: " + str(telegram_chat_invite_link["invite_link"]))
except:
pass

try:
telegram_get_updates = bot.getUpdates(telegram_chat_id)
if telegram_get_updates:
print("Updates:")
for update in telegram_get_updates:
print(update["channel_post"])
except:
pass

try:
telegram_chat_members_count = bot.get_chat_member_count(telegram_chat_id)
print("Number of users in the chat: " + str(telegram_chat_members_count))
except:
pass

try:
telegram_get_chat_administrators = bot.get_chat_administrators(telegram_chat_id)
if telegram_get_chat_administrators:
print("Administrators in the chat:")
for user in telegram_get_chat_administrators:
print(user["user"])
except:
pass
# Get Bot Info

url = f"https://api.telegram.org/bot{telegram_token}/getMe"
response = requests.get(url)
telegram_get_me = response.json().get("result")

print("Bot First Name: " + str(telegram_get_me["first_name"]))
print("Bot Username: " + str(telegram_get_me["username"]))
print("Bot User ID: " + str(telegram_get_me["id"]))
print("Bot Can Read Group Messages: " + str(telegram_get_me["can_read_all_group_messages"]))
url = f"https://api.telegram.org/bot{telegram_token}/getChatMember?chat_id={telegram_chat_id}&user_id={telegram_get_me['id']}"
response = requests.get(url)
telegram_get_chat_member = response.json().get("result")
print("Bot In The Chat Is An: " + telegram_get_chat_member["status"])

# Get Chat Info

url = f"https://api.telegram.org/bot{telegram_token}/getChat?chat_id={telegram_chat_id}"
response = requests.get(url)
telegram_get_chat = response.json().get("result")

print("Chat Title: " + str(telegram_get_chat["title"]))
print("Chat Type: " + str(telegram_get_chat["type"]))
print("Chat ID: " + str(telegram_get_chat["id"]))
print("Chat has Visible History: " + str(telegram_get_chat["has_visible_history"]))
if "username" in telegram_get_chat: print("Chat Username: " + str(telegram_get_chat["username"]))
if "invite_link" in telegram_get_chat: print("Chat Invite Link: " + str(telegram_get_chat["invite_link"]))


# Export Chat Invite Link

url = f"https://api.telegram.org/bot{telegram_token}/exportChatInviteLink?chat_id={telegram_chat_id}"
response = requests.get(url)
telegram_chat_invite_link = response.json().get("result")

print("Chat Invite Link (exported): " + str(telegram_chat_invite_link))

# Create Chat Invite Link

url = f"https://api.telegram.org/bot{telegram_token}/createChatInviteLink?chat_id={telegram_chat_id}"
response = requests.get(url)
telegram_chat_invite_link = response.json().get("result")

print("Chat Invite Link (created): " + str(telegram_chat_invite_link["invite_link"]))

This comment has been minimized.

Copy link
@Oksana290196

Oksana290196 Feb 15, 2024

README.md

This comment has been minimized.

Copy link
@Oksana290196

Oksana290196 Feb 15, 2024

Енг


# Get Chat Member Count

url = f"https://api.telegram.org/bot{telegram_token}/getChatMemberCount?chat_id={telegram_chat_id}"
response = requests.get(url)
telegram_chat_members_count = response.json().get("result")

print("Number of users in the chat: " + str(telegram_chat_members_count))

# Get Administrators in chat

url = f"https://api.telegram.org/bot{telegram_token}/getChatAdministrators?chat_id={telegram_chat_id}"
response = requests.get(url)
telegram_get_chat_administrators = response.json().get("result")

if telegram_get_chat_administrators:
print("Administrators in the chat:")
for user in telegram_get_chat_administrators:
print(user["user"])



if __name__ == "__main__":
main()
main()
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-telegram-bot==13.15
requests

0 comments on commit 284af22

Please sign in to comment.