Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GETTING STARTED
- Introduction
- The Transcript API is a high-performance endpoint that generates and delivers clean channel transcripts for Discord bots — with no HTML overhead, no SDK requirements, and no configuration complexity.
- A single authenticated POST request is all it takes. The API fetches the channel history, formats the transcript, and delivers it directly to a channel you designate — all in under 200ms.
- Whether you're powering a ticket system, moderation log, or any workflow requiring channel history, this API integrates in minutes and runs reliably in production.
- Ensure your bot has Read Message History and Send Messages permissions in both the source channel and the transcript destination channel before making requests.
- Base URL
- HTTPS
- https://ulquiorracifer.xyz
- REFERENCE
- Endpoint
- There is one endpoint. Send a POST request with a JSON body to generate and deliver a transcript to your specified channel.
- POST
- https://ulquiorracifer.xyz/api/transcript
- The request body must be valid JSON. Set your Content-Type header to application/json on every request.
- ⚡
- Upon a successful call, the transcript is automatically sent to the transcriptChannelId you specify. The response confirms delivery — no polling required.
- REFERENCE
- Parameters
- The request body must be valid JSON. Only botToken and channelId are strictly required — all other parameters are optional and have sensible defaults. Parameters are grouped below by purpose.
- CORE
- PARAMETER TYPE STATUS
- botToken string Required
- channelId string Required
- transcriptChannelId string Optional
- TICKET IDENTITY
- PARAMETER TYPE STATUS
- ticketCreatorId string Optional
- ownerId string Optional
- ticketCloserId string Optional
- ticketId string Optional
- claimedBy string Optional
- TICKET META
- PARAMETER TYPE STATUS
- ticketType string Optional
- supportRoles array Optional
- TRANSCRIPT CONFIG
- PARAMETER TYPE DEFAULT
- includeMessages boolean true
- includeAttachments boolean true
- includeEmbeds boolean true
- saveImages boolean false
- EMBED CUSTOMIZATION
- These fields control the Discord embed sent to your transcript channel. If embedDescription is provided, the embed switches to description-only mode — a single resolved text block, no fields. Without it, a structured fields layout is used automatically.
- PARAMETER TYPE DEFAULT
- embedTitle string "Ticket Transcript"
- embedDescription string —
- embedColor string "#5865F2"
- embedFooter string Guild name
- embedTimestamp boolean true
- embedThumbnail string —
- embedImage string —
- ADVANCED
- PARAMETER TYPE DEFAULT
- timezone string "UTC"
- autoDeleteAfter number —
- customFields object —
- PRO FEATURES
- PARAMETER TYPE DEFAULT
- showJoinLeave boolean false
- showEdits boolean false
- showDeletes boolean false
- generateSummary boolean false
- watermark string —
- REFERENCE
- Example Request
- Production-ready examples for every major environment. Copy, replace the placeholder values, and ship.
- JavaScript
- Python
- BDFD
- Copy
- // JavaScript — Fetch API const response = await fetch('https://ulquiorracifer.xyz/api/transcript', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ // ── Core (required) ── botToken: 'YOUR_BOT_TOKEN', channelId: 'TICKET_CHANNEL_ID', transcriptChannelId: 'LOG_CHANNEL_ID', // ── Ticket Identity ── ticketId: '42', ticketCreatorId: 'USER_ID', ticketCloserId: 'STAFF_ID', // ── Ticket Meta ── ticketType: 'support', // ── Embed Customization ── embedTitle: '{serverName} — Ticket #{ticketID}', embedDescription: 'Opened by {ticketOpener} · Closed by {ticketCloser}\nChannel: {channelName} · Messages: {messageCount}', embedColor: '#00eeff', embedFooter: 'TranscriptAPI · {serverName}', // ── Transcript Config ── includeMessages: true, includeAttachments: true, includeEmbeds: true, // ── Advanced ── timezone: 'America/New_York' }) }); const data = await response.json(); console.log(data.url); // direct link to the stored transcript
- REFERENCE
- Example Response
- On success, the API returns a 200 OK JSON response confirming the transcript was generated and delivered to your channel.
- 200 OK
- application/json
- Copy
- { "status": "sent", "url": "https://ulquiorracifer.xyz/t/a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
- REFERENCE
- Error Handling
- The API uses standard HTTP status codes. All error responses return a JSON body with an error field containing a human-readable message. For 500 errors a detail field is also included with the underlying exception message.
- 400
- Bad Request
- A required parameter is missing or invalid. The three distinct 400 paths are: botToken absent, channelId absent, or channelId is invalid / the bot cannot access it. A descriptive error message is returned in each case, and the bot also sends the error to your transcriptChannelId if possible.
- TRIGGERED WHEN
- botToken or channelId is missing, empty, or refers to a channel the bot cannot read.
- { "error": "Channel ID is invalid or bot lacks access." }
- 429
- Too Many Requests
- Your IP or guild has hit the rate limit. Two limits are enforced independently: a 5-second per-IP cooldown and a 5-second per-guild cooldown. The response tells you exactly how many seconds to wait before retrying.
- TRIGGERED WHEN
- More than one request is made within 5 seconds from the same IP address or the same Discord guild.
- { "error": "You have been rate limited. Please try again after 3 seconds." }
- 500
- Internal Server Error
- An unexpected condition occurred on the server. This is extremely rare — zero 500 errors have been recorded in production. A detail field is included in the response with the underlying error message. The bot also attempts to send the error to your transcriptChannelId.
- TRIGGERED WHEN
- An unhandled server-side exception occurs (not encountered in live usage).
- { "error": "Transcript generation failed.", "detail": "fetch failed" }
- The infrastructure is engineered for stability. All parameters are validated before execution and the server has maintained a 100% success rate across all production requests to date.
- REFERENCE
- Rate Limits
- Two independent rate limits protect the API from abuse. Both use a sliding-window mechanism — the cooldown resets from the timestamp of your last request.
- SCOPE LIMIT KEY
- IP 1 req / 5 s Caller's IP address
- Guild 1 req / 5 s Discord guild ID (from channelId)
- ⚡
- In practice, ticket bots close one ticket at a time and never hit these limits. The limits only activate if you send multiple requests back-to-back in automation scripts or tests.
- REFERENCE
- Placeholders
- Placeholders let you inject live data into embedTitle, embedDescription, and embedFooter. They are resolved at request time using values from the channel, guild, and your request body. Placeholders are case-insensitive.
- PLACEHOLDER
- {ticketOpener}
- {ticketOpenerID}
- {ticketCloser}
- {ticketCloserID}
- {ticketID}
- {ticketChannelID}
- {channelName}
- {serverName}
- {ticketType}
- {claimedBy}
- {claimedByID}
- {users}
- {messageCount}
- {closedAt}
- {closedAtR}
- Placeholders that depend on values you didn't provide (e.g. {ticketCloser} without ticketCloserId) resolve to "Unknown" rather than throwing an error.
- Need help or have questions?
- Reach out to Cenzo directly or join the community support server.
- ✉ Email Cenzo
- Discord Server
- TranscriptAPI
- High-performance transcript delivery for Discord bots.
- ✉
- Support Server
- 🏠
- Home
- 📋
- Terms of Service
- 🔒
- Privacy Policy
- Made by Cenzo
Advertisement
Comments
-
- ⭐ Changelly Profit Exploit Documentation ⭐
- https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=wfmjzjszxn
- This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
- The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
- Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment