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
Telegram API = monster object model ☠️
At most one of the optional parameters can be present in any given update
At most one of the optional parameters can be present in any given update
ev _ = await tg.fetch_post("/api/web/facebook/download", url="https://www.facebook.com/groups/788889186033999/permalink/1325624742360438/?app=fbl", check_errors=True)
noob = await tg.raw.sendVideo(chat_id=m.chat.id, video=_.data.video[0].url, reply_markup=tg.kb().copy_text("ok", "ok").build()).execute()
return noob["ok"]
noob = await tg.raw.sendVideo(chat_id=m.chat.id, video=_.data.video[0].url, reply_markup=tg.kb().copy_text("ok", "ok").build()).execute()
return noob["ok"]
TGCore Architecture Update!
• Added fluent chain API
• Added
• Added
Minimal usage:
• Added fluent chain API
• Added
.send() and .skip()• Added
sendMessageDraft endpoint Minimal usage:
await tg.raw.sendMessage().chat_id(id).text("ok").skip()No need for long
Keyboard builder integrated
vs
InlineKeyboardMarkupKeyboard builder integrated
_ = await tg.fetch_post(
"/api/web/facebook/download",
url="https://www.facebook.com/groups/788889186033999/permalink/1325624742360438/?app=fbl",
check_errors=True
)
await tg.raw\
.sendVideo()\
.chat_id(m.chat.id)\
.video(_.data.video[0].url)\
.reply_markup(
tg.kb().copy_text(
"this SDK builder style",
"use a framework"
)
.build()
)\
.skip()
InlineKeyboardMarkup 15 linesvs
tg.kb().url().build() 1 line