Rᴇɴᴅʏ Pʀᴏɪᴇᴄᴛs
224 subscribers
1.04K photos
29 videos
17 files
743 links
tgcore is open source. Built for production Telegram apps.

https://github.com/TeamKillerX/tgcore/
Download Telegram
import { Client } from "@xtsea/tgcore-ts"

// ❌ Don't do this.
// tgcore is not meant to hit api.telegram.org directly.
// Default endpoint is /v2/{method}, not /{method}.
// Also won’t work properly if your server IP is blocked by Telegram
// or you're not using a proxy / webhook.

const tg = new Client({
api_key: "api_key",
base_url: `https://api.telegram.org/${bot_token}` // wrong usage
})

✅ Proper flow:
1. Register on Services Pro
2. Add your bot token once in the dashboard
3. Webhook is configured automatically
4. Your bot token never touches your frontend
5. All calls go through:
https://services-pro.ryzenths.dpdns.org/api/v2/{method}

You can still use:
- Pyrogram (MTProto style)
- FastAPI (if you want full control, but heavier)
- Or plain bot API

But tgcore is built as a secure middleware layer, not a raw Telegram proxy.
Too many methods.
Methods are noise.
Architecture is control.
# Not too many
async def something(**kwargs):
return await FollowAPIReadDocs(kwargs)

# Now you can like this
await something(
chat_id=chat_id,
text=text,
reply_markup={"inline_keyboard": []}
)

Abstraction beats methods.
Developer call method.
Architect define structure.
Developers read docs.
Architect writes the docs.
❤1
Mereka masih coding.
Gua udah jadi sistemnya.
They're looking for parameters.
I'm the one who defines the structure. 💀

Final form
This channel automatically deletes zombie accounts by telegram 💀
Telegram Bot API: new feature released
Me: was asleep
Me 10 minutes later: already deployed.
Engineer: Fixing bugs.
Architect: Creating constraints.
If you use InlineKeyboardMarkup([])

Or JSON:
reply_markup={"inline_keyboard": []}

Because it's too much

Try to see if you can do it like this:
KeyboardBuilder().url("Custom Name", "https://google.com").build()

Clean, no need to say much more.
TGCore TS Client • Production Ready

Docs: https://tgcore.ryzenths.dpdns.org/

Web: https://services-pro.ryzenths.dpdns.org

Install:
npm install @xtsea/tgcore-ts

Usage:
import { Client } from "@xtsea/tgcore-ts"

const tg = new Client({
api_key: process.env.R_API_KEY,
base_url: "https://tgcore.ryzenths.dpdns.org"
})

• Service migrated to new URL
• Production stable
• No configuration issues
• Enterprise-ready