https://github.com/TeamKillerX/tgcore#rest-api--tgcore-bot
https://github.com/TeamKillerX/tgcore-ts/tree/main#reference-backend-fastapi
https://github.com/TeamKillerX/tgcore-ts/tree/main#reference-backend-fastapi
GitHub
GitHub - TeamKillerX/tgcore: TgCore • Official Telegram SDK Framework
TgCore • Official Telegram SDK Framework. Contribute to TeamKillerX/tgcore development by creating an account on GitHub.
started with telethon userbots back in 2019
lost accounts, yeah it happens
now i'm building my own tgcore engine
solo dev, no team yet
if you're still running userbots, keep going
this channel isn't about that anymore
no more userbot updates
source code comes as paid zip
lost accounts, yeah it happens
now i'm building my own tgcore engine
solo dev, no team yet
if you're still running userbots, keep going
this channel isn't about that anymore
no more userbot updates
source code comes as paid zip
⚡1💯1
Snippet code:
kw = await tg._post(
"/api/web/pinterest/download",
payload={"pinUrl": "https://pinterest.com/pin/579205202127386072"}
)
if not kw["ok"]:
return None
y = tg.to_obj(kw)
urls = []
for x in y.data.pins.media_urls:
if x.type == "image":
urls.append(x.url)
if not urls:
return "No url"
return urls
The TGCore button builder can be used directly with Pyrogram without creating a
Example of using one button:
Bots can still use the regular Pyrogram send_message, but the reply markup is generated by TGCore.
Available button functions:
Create a button that opens a link.
Create a button with data callback for bot interaction.
Create a button with additional styles.
Parameters style:
For simple buttons, one line is enough.
If you want to create several buttons in several rows, you can use
Multiple button example:
Essentially, TGCore serves as a builder layer for buttons and markup, while Pyrogram remains used to send messages to Telegram.
So the flow is:
Pyrogram = send_message
TGCore = build keyboard / button
The advantage is that developers do not need to write the
Client() instance. TGCore simply creates a reply_markup object, and Pyrogram then sends the message.Example of using one button:
from tgcore import ButtonExamples
from pyrogram.enums import ButtonStyle
reply_markup = ButtonExamples.style(
"custom name",
ButtonStyle.SUCCESS,
url="https://google.com"
)
Bots can still use the regular Pyrogram send_message, but the reply markup is generated by TGCore.
Available button functions:
ButtonExamples.url()Create a button that opens a link.
ButtonExamples.callback()Create a button with data callback for bot interaction.
ButtonExamples.style()Create a button with additional styles.
Parameters style:
textstyleurlcallback_datacopy_text**kwFor simple buttons, one line is enough.
If you want to create several buttons in several rows, you can use
KeyboardBuilder().Multiple button example:
from tgcore import KeyboardBuilder
keyboard = (KeyboardBuilder().url("....", "....").url("....", "https://....").row().url(".....", "https://...").build())
Essentially, TGCore serves as a builder layer for buttons and markup, while Pyrogram remains used to send messages to Telegram.
So the flow is:
Pyrogram = send_message
TGCore = build keyboard / button
The advantage is that developers do not need to write the
InlineKeyboardMarkup structure manually.ev from tgcore import KeyboardBuilder
kw = await tg._post(
"/api/web/tiktok/download",
payload={"url": "https://vt.tiktok.com/ZSMdyXqXd/"}
)
_ = tg.to_obj(kw)
if not _.ok or not _.data:
return None
await tg.raw.sendVideo(
chat_id=m.chat.id,
video=_.data.data.play,
caption=_.data.data.title,
cover=_.data.data.cover,
reply_markup=(
KeyboardBuilder()
.copy_text("Ok", "Ok")
.build()
)
).execute()
kw = await tg._post(
"/api/web/tiktok/download",
payload={"url": "https://vt.tiktok.com/ZSMdyXqXd/"}
)
_ = tg.to_obj(kw)
if not _.ok or not _.data:
return None
await tg.raw.sendVideo(
chat_id=m.chat.id,
video=_.data.data.play,
caption=_.data.data.title,
cover=_.data.data.cover,
reply_markup=(
KeyboardBuilder()
.copy_text("Ok", "Ok")
.build()
)
).execute()
Tgcore Changelog Update!
- Add
- Add
You can python-telegram-bot or Pyrogram
Logic
- Add
tg.fetch_post(path, something=something, check_errors=True)- Add
tg.kb()You can python-telegram-bot or Pyrogram
tg = Client(api_key="ignore", base_url="https://example.com")this = await tg.fetch_post("/api/todo", url=url, check_errors=True)Logic
return {"ok": True, "data", data}this.data for objectthis["data"] for raw (check_errors=False)tg.kb().add()tg.kb().url()# 10 minutes
reply_markup=InlineKeyboardMarkup([
[InlineKeyboardButton("ok", callback_data="#abc")],
[InlineKeyboardButton("Docs", url="https://example.com")]
])
# 5 seconds
reply_markup=tg.kb().callback("ok","#abc").row().url("Docs","https://example.com").build()
TGCore Engine
• Unlimited Proxy
• Telegram API Monster
• Platform Downloader
• Free API Key (7 Days)
• Webhook (Telegram / GitHub)
• Builder SDK
• Enterprise Architecture
• Unlimited Proxy
• Telegram API Monster
• Platform Downloader
• Free API Key (7 Days)
• Webhook (Telegram / GitHub)
• Builder SDK
• Enterprise Architecture