সূচি আমি চাই … আপনি কী করতে চান বেছে নিন; নিচে শুধু তার ধাপগুলো আছে। পুরো রেফারেন্স আরও নিচে।
একটি বট বানাতে আমার অ্যাপ যুক্ত করতে আমার সাইটে tellmelo দিয়ে সাইন-ইন GIF ও ভিডিও এমবেড করতেআপনার কোনো গ্রুপে, গ্রুপ মেনুর “বট → আমার বট”-এ ছবি, নাম ও @নামসহ বট তৈরি করুন। এর টোকেন আপনি একবারই দেখবেন। এর “বট যোগ করুন” লিংক শেয়ার করুন বা বট ডিরেক্টরির জন্য জমা দিন, যেখানে টিমের যাচাইয়ের পরে এটি দেখা যায়; গ্রুপে যিনি ভূমিকা পরিচালনা করতে পারেন তিনি সম্মত অনুমতিসহ এটি যোগ করেন। এর গ্রুপগুলোর ঘটনা স্ট্রিম হিসেবে (GET /v2/events/stream) বা আপনার ঠিকানায় পান, এবং POST /v2/channels/{id}/messages দিয়ে লিখুন। আরও বট -এ। কমান্ড নিবন্ধন করুন (PUT /v2/me/commands) এবং কার্ড ও বোতাম দিয়ে উত্তর দিন; ভয়েস চ্যানেলে জায়গা নিয়ে বট সংগীত বাজায় (POST /v2/channels/{id}/voice)। সংক্ষিপ্ত বিবরণ v2 তোমার নিজের প্রোগ্রামকে tellmelo-র সঙ্গে কথা বলতে দেয়: প্রতি অনুরোধে একটি চাবি, উত্তরে JSON, প্রতিটি তালিকা একইভাবে পাতায় ভাগ হয়। অ্যাপের মতোই নিয়ম।
প্রতিটি পথ https://api.tellmelo.com/v2 দিয়ে শুরু হয়। অনুরোধ আর উত্তর UTF-8-এ JSON। ফিল্ডের নাম, কোড আর মান ইংরেজিতে এবং ইংরেজিতেই থাকে। চাবি তোমার অ্যাকাউন্টের মতো কাজ করে: অ্যাপে যা তুমি দেখতে পাও না, তা-ও পড়তে পারে না। https://api.tellmelo.com/v2দ্রুত শুরু “ডেভেলপার অংশ → API”-এ একটি চাবি তৈরি করে কপি করো। এটি একবারই দেখানো হয়। এটি দিয়ে রুট কল করো। উত্তরে সংস্করণ, চাবির অধিকার আর এই মিনিটে বাকি অনুরোধ দেখা যায়। প্রতিটি পাথ একইভাবে কাজ করে: হেডারে চাবি, উত্তরে JSON, তালিকার জন্য items আর next। curl -H "Authorization: Bearer tm_key_…" https://api.tellmelo.com/v2{
"name": "tellmelo",
"version": "2.20",
"scope": "read write",
"rateLimit": {
"limit": 120,
"remaining": 117
},
"docs": "/developers/docs",
"spec": "/api/v2/openapi.json"
}এরপর: তোমার প্রোফাইলের জন্য /me, সর্বজনীন পোস্টের জন্য /posts, তোমার ফিডের জন্য /feed।
চেষ্টা করো একটি কাজ বেছে নাও, ঘরগুলো পূরণ করো এবং অনুরোধটি কপি করো বা এখান থেকেই পাঠাও। লেখার আগে জিজ্ঞেস করা হয়। কোড TELLMELO_KEY থেকে কী পড়ে।
কাজ GET / GET /posts GET /posts/{id} POST /posts DELETE /posts/{id} GET /me/scheduled POST /posts/{id}/schedule POST /posts/{id}/edit GET /posts/{id}/reply-settings PUT /posts/{id}/reply-settings POST /posts/{id}/coauthor DELETE /posts/{id}/coauthor POST /posts/{id}/pin GET /posts/{id}/replies POST /posts/{id}/replies POST /replies/{id}/edit DELETE /replies/{id} POST /replies/{id}/like POST /replies/{id}/vote POST /replies/{id}/pick GET /posts/{id}/replies/waiting POST /replies/{id}/decide GET /posts/{id}/replies/planned PUT /me/planned-replies/{id} POST /me/planned-replies/{id}/send DELETE /me/planned-replies/{id} POST /posts/{id}/vote GET /profiles/{handle} GET /profiles/{handle}/posts GET /profiles/{handle}/events POST /me/events PUT /me/events/{id} DELETE /me/events/{id} GET /me/events/{id}/signups POST /events/{id}/signup GET /communities GET /communities/{id} GET /communities/{id}/posts GET /communities/{id}/members GET /communities/{id}/roles GET /communities/{id}/bell GET /invites/{code} PUT /roles/{id}/self GET /communities/{id}/emojis PUT /communities/{id}/bell POST /invites/{code}/join GET /communities/{id}/bots GET /communities/{id}/channels GET /channels/{id}/messages POST /channels/{id}/messages POST /channels/{id}/read DELETE /channel-messages/{id} GET /communities/{id}/voice POST /communities/{id}/emojis DELETE /communities/{id}/emojis/{name} POST /communities/{id}/roles PUT /roles/{id} DELETE /roles/{id} PUT /communities/{id}/roles/order PUT /roles/{id}/members/{member} POST /communities/{id}/channels PUT /channels/{id} DELETE /channels/{id} PUT /communities/{id}/channels/order PUT /communities/{id}/channels/shape GET /channels/{id}/overrides PUT /channels/{id}/overrides/{role} POST /communities/{id}/categories PUT /categories/{id} DELETE /categories/{id} PUT /communities/{id}/feed GET /communities/{id}/invites POST /communities/{id}/invites DELETE /invites/{code} POST /channel-messages/{id}/remove POST /communities/{id}/posts/{post}/remove DELETE /communities/{id}/members/{member} PUT /communities/{id}/members/{member}/timeout DELETE /communities/{id}/members/{member}/timeout GET /communities/{id}/bans PUT /communities/{id}/bans/{member} DELETE /communities/{id}/bans/{member} GET /communities/{id}/log POST /communities PUT /communities/{id} GET /events GET /events/stream GET /me/commands PUT /me/commands POST /interactions/{id}/reply POST /channels/{id}/voice GET /tags GET /search GET /emojis GET /media GET /media/mine GET /media/{id} POST /media/uploads POST /media/{id} DELETE /media/{id} GET /me GET /feed POST /me/pictures PUT /me/profile GET /me/emojis POST /me/emojis/pictures POST /me/emojis DELETE /me/emojis/{name} PUT /me/emojis/sharing GET /me/webhooks POST /me/webhooks DELETE /me/webhooks/{id} POST /me/webhooks/{id}/test GET /notifications POST /notifications/read GET /conversations GET /conversations/{with}/messages POST /conversations/{with}/messages POST /conversations/{with}/read DELETE /conversations/{with}/messages/{id} POST /conversations/{with}/planned GET /me/planned-messages POST /me/planned-messages/{id}/send DELETE /me/planned-messages/{id} POST /relations GET /profiles/{handle}/followers GET /profiles/{handle}/following GET /me/relations GET /me/collections POST /me/collections PUT /me/collections/{id} DELETE /me/collections/{id} GET /me/collections/{id}/posts POST /me/collections/{id}/posts GET /partner/quota GET /partner/gifts POST /partner/gifts GET /gift-drops POST /gift-drops read API সংস্করণ আর এই সার্ভারের নাম।
curl JavaScript Python
কপি করোcurl \
-H "Authorization: Bearer $TELLMELO_KEY" \
"https://api.tellmelo.com/v2"তোমার চাবি প্রতি অ্যাকাউন্টে সর্বোচ্চ ১০টি চাবি, প্রতিটির নাম, নিজস্ব অনুমতি আর চাইলে মেয়াদ শেষের তারিখ। চাবি tm_key_ দিয়ে শুরু হয় এবং একবারই দেখানো হয়। হারিয়েছ? নবায়ন করো; পুরোনো মান আর কাজ করবে না।
এটি তৈরি করো “ডেভেলপার অংশ → API”-এ। এটি অনুরোধের হেডারে যায়:
curl -H "Authorization: Bearer tm_key_…" \
https://api.tellmelo.com/v2/postsঅথবা, সুবিধা হলে, আলাদা একটি হেডারে:
curl -H "X-Tellmelo-Key: tm_key_…" https://api.tellmelo.com/v2URL-এ নয়: তা লগ আর ব্রাউজারের ইতিহাসে চলে যাবে।
একই চাবি ছবি লোড করে: প্রতিটি url /api/media-র দিকে নির্দেশ করে; সেখানেও হেডারে চাবি পাঠাও।
curl -H "Authorization: Bearer tm_key_…" \
-o picture.webp "https://api.tellmelo.com/media?id=…"একটি চাবি কী করতে পারে একটি কী সবসময় পড়তে পারে, আর তুমি অনুমতি দিলে লিখতে, উপহার দিতে, মিডিয়া আপলোড করতে ও গ্রুপ চালাতেও পারে। নিচের প্রতিটি পথ বলে তার কী দরকার:
read : পড়া। পাবলিক পোস্ট, প্রোফাইল, গ্রুপ ও ট্যাগ, সঙ্গে তোমার ফিড, বিজ্ঞপ্তি, বার্তা আর তোমার গ্রুপগুলোর চ্যানেল।write : কাজ করা। পোস্ট করা, উত্তর দেওয়া, ভোট দেওয়া, বার্তা পাঠানো, গ্রুপের চ্যাটে লেখা, ফলো করা, যোগ দেওয়া, ব্লক করা, বিজ্ঞপ্তি পড়া হিসেবে চিহ্নিত করা।gifts : উপহার দেওয়া। অংশীদারের কোটা থেকে কোনো সদস্যকে, আর নতুন পোস্টের নিচে উপহার। আলাদা অনুমতি, যাতে পোস্ট করার কী কখনো কিছু বিলিয়ে দিতে না পারে।media : নিজের মিডিয়া লাইব্রেরি। GIF ও ভিডিও আপলোড, বদলানো, শেয়ার ও সরানো। এটি আলাদা অনুমতি, কারণ আপলোডে অ্যাকাউন্টের ভিডিও পয়েন্ট খরচ হয়। শেয়ার করা GIF ও ভিডিও খুঁজতে শুধু read লাগে।groups : গ্রুপ পরিচালনা। ভূমিকা, চ্যানেল, বিভাগ, আমন্ত্রণ লিংক, ফিড চ্যানেল, সরানো, মিউট, বের করা আর নিষেধাজ্ঞা, যতটা তোমার অ্যাকাউন্ট গ্রুপে পারে। আলাদা একটি অধিকার, যাতে পোস্ট করার চাবি কখনো না বদলায় গ্রুপে কে কী পারে।কোনো চাবি যা পারে না কোনো চাবি পাসওয়ার্ড, ইমেল ঠিকানা, অ্যাকাউন্টের ধরন, জায়গা, ভূমিকা, মুছে ফেলা, সেশন, পুশ ডিভাইস বা অন্য চাবিতে পৌঁছায় না, প্রশাসন বা গ্রুপ নেতৃত্বেও নয়। পাসওয়ার্ড যা রক্ষা করে, কোনো চাবি তা পারে না।
বট বট হলো গ্রুপের জন্য bot ধরনের আলাদা একটি অ্যাকাউন্ট: পাসওয়ার্ড ও ইমেল ছাড়া, আপনার প্রোগ্রাম তার নিজের কী দিয়ে চালায়। এটি অন্য যেকোনো অ্যাকাউন্টের মতো একই API ব্যবহার করে এবং গ্রুপে তার রোল যা অনুমতি দেয় সবই করতে পারে।
আপনার কোনো গ্রুপে গ্রুপ মেনু খুলুন এবং “বট → আমার বট”-এ ছবি, কভার, নাম, ইউজারনেম ও বিবরণসহ একটি বট তৈরি করুন। টোকেন শুধু একবার দেখানো হয়; এর অনুমতি read, write, media ও groups। বটের লিংক অন্যদের দিন বা বট ডিরেক্টরির জন্য জমা দিন; টিম যাচাই করলেই এটি সেখানে দেখা যায়। গ্রুপে যিনি ভূমিকা পরিচালনা করতে পারেন তিনি অনুমতি বেছে নেন; বটটি যোগ দেয় এবং নিজস্ব ভূমিকা পায়। আপনার প্রোগ্রাম টোকেন Authorization: Bearer … হিসেবে পাঠায়, তার গ্রুপগুলোর ঘটনা স্ট্রিম হিসেবে পড়ে এবং বট , চ্যানেল ও গ্রুপ -এর রুট দিয়ে কাজ করে। একটি ছোট বট যা ঘটনা স্ট্রিম হিসেবে পড়ে এবং /ping কমান্ডে কেবল প্রশ্নকারীকে pong উত্তর দেয়:
// Node 18 or newer: reads the events of the bot's groups as they happen and answers /ping.
const BASE = 'https://api.tellmelo.com/v2';
const KEY = process.env.TELLMELO_BOT_TOKEN;
const call = (method, path, body) =>
fetch(BASE + path, {
method,
headers: { Authorization: 'Bearer ' + KEY, 'Content-Type': 'application/json' },
body: body && JSON.stringify(body),
}).then((r) => r.json());
await call('PUT', '/me/commands', { commands: [{ name: 'ping', description: 'Answers pong' }] });
let last = '';
for (;;) {
// The stream closes after ten minutes; Last-Event-ID goes on where it stopped.
const res = await fetch(BASE + '/events/stream', {
headers: { Authorization: 'Bearer ' + KEY, ...(last && { 'Last-Event-ID': last }) },
});
const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
let buffer = '';
for (;;) {
const { value, done } = await reader.read();
if (done) break;
buffer += value;
let end;
while ((end = buffer.indexOf('
')) >= 0) {
const data = buffer.slice(0, end).split('
').find((l) => l.startsWith('data: '));
buffer = buffer.slice(end + 2);
if (!data) continue;
const event = JSON.parse(data.slice(6));
last = event.id;
if (event.type === 'command' && event.data.command === 'ping')
await call('POST', '/interactions/' + event.data.interaction + '/reply', { text: 'pong', private: true });
}
}
}একই বট Python-এ, পাতায় পাতায় ঘটনা আনছে:
# Python 3 with requests: the same bot, reading the events page by page.
import os, time, requests
BASE = 'https://api.tellmelo.com/v2'
H = {'Authorization': 'Bearer ' + os.environ['TELLMELO_BOT_TOKEN']}
requests.put(BASE + '/me/commands', headers=H,
json={'commands': [{'name': 'ping', 'description': 'Answers pong'}]})
since = '0'
while True:
page = requests.get(BASE + '/events', headers=H, params={'since': since}).json()
for event in page['items']:
if event['type'] == 'command' and event['data']['command'] == 'ping':
requests.post(f"{BASE}/interactions/{event['data']['interaction']}/reply",
headers=H, json={'text': 'pong'})
since = page['next'] or since
time.sleep(2)গ্রুপে বট কী করতে পারবে তা ঠিক করে সেখানে তার ভূমিকা, টোকেন নয়। ভূমিকাটি তার নাম বহন করে; গ্রুপ সেটিংসের ভূমিকাগুলোতে গ্রুপ এর অনুমতি বদলায় এবং গ্রুপ মেনুর “বট → এই গ্রুপে”-এ বটটি সরায়। প্রতি অ্যাকাউন্টে ৫টি পর্যন্ত বট; প্রতি গ্রুপে তার সুবিধা যতটা অনুমতি দেয়। একটি বট প্রতি গ্রুপে মিনিটে সর্বোচ্চ ৩০টি বার্তা লেখে, অনুসন্ধানে পাওয়া যায় না এবং কেবল তাদেরই লেখে যারা আগে তাকে লিখেছে। সীমা প্রযোজ্য। ঘটনা আপনার নিজের HTTPS ঠিকানাতেও আসে (ওয়েবহুকের মতো স্বাক্ষরিত, পুনঃচেষ্টাসহ)। এছাড়া: কমান্ড (PUT /v2/me/commands) যার উত্তর সবার জন্য বা কেবল প্রশ্নকারীর জন্য, বার্তায় কার্ড ও বোতাম, এবং ভয়েস চ্যানেলে সংগীত (POST /v2/channels/{id}/voice): সব বট -এ। পাতা প্রতিটি তালিকা limit আর cursor নেয় এবং items আর next দিয়ে উত্তর দেয়। পরের পাতা পেতে next আবার cursor হিসেবে পাঠাও; next খালি হলে শেষ। কার্সর অস্বচ্ছ: এটি বিশ্লেষণ কোরো না, নিজে বানিয়ো না।
{ "items": [ … ], "next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx" }
curl -H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts?limit=20&cursor=MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"limit ছাড়া 20টি এন্ট্রি, সর্বোচ্চ 50। কিছু তালিকা পাতায় ভাগ হয় না; সেগুলোর next সবসময় null।
শুধু যা নতুন প্রতিটি উত্তরে একটি ETag থাকে। পরের বার এটি If-None-Match হিসেবে পাঠাও: কিছু না বদলালে বডি ছাড়া 304 পাবে।
ETag: W/"3Qk1mJ7fQe2Yb0sVxT9aL4pNdRc"
If-None-Match: W/"3Qk1mJ7fQe2Yb0sVxT9aL4pNdRc" → 304ব্যতিক্রম: /feed-এর কোনো ETag নেই কারণ এর ক্রম বারবার বদলায়, আর লেখার অনুরোধ কখনো 304 দেয় না।
সীমা একটি চাবি প্রতি মিনিটে 120টি অনুরোধ করতে পারে, “সংগঠন” প্ল্যানে 600, যদি না প্রশাসন অন্য কিছু ঠিক করে। এর বেশি হলে তুমি 429 পাবে এবং কিছুই করা হয়নি। এক মিনিট অপেক্ষা করে আবার পাঠাও।
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
X-RateLimit-Reset: 1758624060লেখার অনুরোধ অ্যাপের সীমাতেও গোনা হয়, যেমন কয়েক মিনিটে কতগুলো পোস্ট। সেটিও rate_limited-সহ 429 দেয়।
যখন কিছু কাজ করে না ত্রুটি JSON হিসেবে আসে: তোমার প্রোগ্রামের জন্য error-এ একটি নির্দিষ্ট ইংরেজি কোড আর মানুষের জন্য message-এ একটি বাক্য, সঙ্গে মানানসই স্ট্যাটাস কোড। শুধু কোড তুলনা করো; বাক্য বদলাতে পারে।
{ "error": "rate_limited",
"message": "Too many requests. Try again in a minute.",
"limit": 120 }কিছু ত্রুটিতে আরও একটি ফিল্ড থাকে: চাবি না থাকার 401-এ docs, 429-এ limit।
স্ট্যাটাস কোড অর্থ 400bad_requestঅনুরোধ পড়া যায় না, একটি আবশ্যক ফিল্ড নেই, বা কোনো মান অনুমোদিত নয়। 401key_missingহেডারে কোনো চাবি নেই। 401key_invalidচাবিটি বৈধ নয়: ভুল লেখা, বদলানো, বা অ্যাকাউন্ট নিষিদ্ধ। 401unauthorizedসাইন ইন নেই বলে প্রত্যাখ্যাত, চাবি ছাড়া অন্য কারণে। 403scope_missingচাবির প্রয়োজনীয় অধিকার নেই, সাধারণত write। 403account_data_lockedপাসওয়ার্ড, ইমেল ঠিকানা বা মুছে ফেলার মতো অ্যাকাউন্টের ডেটা চাবির নাগালের বাইরে। 403forbiddenতোমার অ্যাকাউন্ট এটি করতে পারে না, যেমন প্রত্যাহার করা অধিকার বা ব্লকের কারণে। 403timed_outএই গ্রুপে এখন একটি মিউট তোমার অ্যাকাউন্টকে চুপ রেখেছে। 404unknown_pathএমন কোনো পাথ নেই, বা এই পদ্ধতিতে নেই। 404not_foundপাওয়া যায়নি, বা তুমি এটি দেখতে পারো না। 409conflictযা আগে থেকে আছে তার সঙ্গে সংঘাত, যেমন নেওয়া হয়ে গেছে এমন নাম। 409feed_offএই গ্রুপের ফিড চ্যানেল বন্ধ। 413too_largeএই সার্ভারের জন্য খুব বড়। 422unprocessableপড়া যায়, কিন্তু এই রূপে সম্ভব নয়। 429rate_limitedঅনেক বেশি অনুরোধ। কিছুই হয়নি; অপেক্ষা করে আবার চেষ্টা করো। 500internal_errorসার্ভারে কিছু একটা ভুল হয়েছে।
সংস্করণ সংস্করণ পাথে থাকে। যতদিন সেখানে v2 লেখা, পাথ আর ফিল্ড একই থাকে; শুধু নতুন জিনিস যোগ হয়।
সংযোজন দ্বিতীয় সংখ্যাটি বাড়ায়। প্রতিটি পাথ বলে সেটি কবে থেকে আছে।
https://api.tellmelo.com/v1/ আর নেই: পুরোনো পাথগুলো 410 দিয়ে উত্তর দেয় এবং বডিতে নতুন পথ জানায়।
এন্ডপয়েন্ট সব পাথ এক নজরে, তারপর প্রতিটি একটি উদাহরণসহ।
পাথ অধিকার কীসের জন্য প্রবেশপথ GET /v2readAPI সংস্করণ আর এই সার্ভারের নাম। পোস্ট GET /v2/postsreadসর্বজনীন পোস্ট, নতুনগুলো আগে। GET /v2/posts/{id}readএকটি পোস্ট, তার id দিয়ে। POST /v2/postswriteএকটি পোস্ট প্রকাশ করো। DELETE /v2/posts/{id}writeনিজের একটি পোস্ট সরাও। GET /v2/me/scheduledreadতোমার যে পোস্টগুলো এখনো আসেনি, আর সেগুলো কীসের অপেক্ষায়। POST /v2/posts/{id}/schedulewriteনির্ধারিত পোস্ট কখন আসবে, বা পোস্ট নিজে থেকে কখন মুছবে, তা বদলাও। POST /v2/posts/{id}/editwriteতোমার একটি পোস্টের লেখা বদলাও। GET /v2/posts/{id}/reply-settingsreadতোমার পোস্টে কে উত্তর দিতে পারে, উত্তর অনুমোদনের অপেক্ষা করে কি না, আর ধীর মোড। PUT /v2/posts/{id}/reply-settingswriteনিজের পোস্টের উত্তর সেটিং বদলাও। যা দেবে না, তা যেমন আছে থাকবে। POST /v2/posts/{id}/coauthorwriteসহ-লেখক হওয়ার আমন্ত্রণ গ্রহণ বা প্রত্যাখ্যান করো। DELETE /v2/posts/{id}/coauthorwriteসহ-লেখক থেকে সরে যাও, অথবা লেখক হিসেবে সহ-লেখককে পোস্ট থেকে সরাও। POST /v2/posts/{id}/pinwriteনিজের পোস্ট প্রোফাইলের উপরে পিন করো, অথবা পিন সরাও। উত্তর GET /v2/posts/{id}/repliesreadএকটি পোস্টের উত্তর, ব্লক করা অ্যাকাউন্ট বাদে। POST /v2/posts/{id}/replieswriteএকটি পোস্টের উত্তর দাও। POST /v2/replies/{id}/editwriteতোমার একটি উত্তরের লেখা বদলাও। DELETE /v2/replies/{id}writeতোমার একটি উত্তর সরাও। POST /v2/replies/{id}/likewriteকোনো উত্তরে আপভোট দাও (উত্তরে ভোট চালু হওয়ার পর থেকে পছন্দ মানে আপভোট) বা আপভোট ফিরিয়ে নাও; ডাউনভোট থেকে যায়। POST /v2/replies/{id}/votewriteকোনো উত্তরে উপরে বা নিচে ভোট দাও, অথবা তোমার ভোট ফিরিয়ে নাও। তোমার ভোট আর পরের স্কোর ফেরত দেয়। POST /v2/replies/{id}/pickwriteনিজের পোস্টের নিচে একটি উত্তরকে সেরা হিসেবে হাইলাইট করো, অথবা হাইলাইট সরাও। GET /v2/posts/{id}/replies/waitingreadএকটি পোস্টের নিচে অনুমোদনের অপেক্ষায় থাকা উত্তর: নিজের পোস্টে সব, নইলে শুধু তোমার। POST /v2/replies/{id}/decidewriteনিজের পোস্টের নিচে অপেক্ষমাণ উত্তর অনুমোদন বা প্রত্যাখ্যান করো। প্রত্যাখ্যাত উত্তর মুছে যায়। GET /v2/posts/{id}/replies/plannedreadএকটি পোস্টের নিচে পরে পাঠানোর জন্য নির্ধারিত তোমার উত্তর। PUT /v2/me/planned-replies/{id}writeনির্ধারিত উত্তরের লেখা বা সময় বদলাও। ব্যর্থ উত্তর আবার অপেক্ষা করে। POST /v2/me/planned-replies/{id}/sendwriteনির্ধারিত উত্তর এখনই পাঠাও। DELETE /v2/me/planned-replies/{id}writeনির্ধারিত উত্তর মুছে ফেলো। পোল POST /v2/posts/{id}/votewriteএকটি পোলে অংশ নাও। প্রোফাইল GET /v2/profiles/{handle}readএকটি প্রোফাইল, তার ছোট নাম দিয়ে। GET /v2/profiles/{handle}/postsreadএকটি প্রোফাইলের সর্বজনীন পোস্ট, নতুনগুলো আগে। GET /v2/profiles/{handle}/eventsreadএকটি প্রোফাইলের আসন্ন ইভেন্ট, সবচেয়ে কাছেরটি আগে। POST /v2/me/eventswriteইভেন্ট তৈরি করো। তার id ফেরত দেয়। PUT /v2/me/events/{id}writeতোমার একটি ইভেন্ট বদলাও। সব ঘর নতুন করে সেট হয়। DELETE /v2/me/events/{id}writeতোমার একটি ইভেন্ট মুছে ফেলো। GET /v2/me/events/{id}/signupsreadতোমার কোনো ইভেন্টে কে নাম লিখিয়েছে। POST /v2/events/{id}/signupwriteকোনো ইভেন্টে নাম লেখাও বা বাতিল করো। গ্রুপ GET /v2/communitiesreadএই ইনস্ট্যান্সের খোলা গ্রুপ; mine=true দিলে তোমার অ্যাকাউন্টের গ্রুপ। GET /v2/communities/{id}readএকটি গ্রুপ, তার id দিয়ে। GET /v2/communities/{id}/postsreadকোনো গ্রুপের ফিড চ্যানেলের পোস্ট, নতুনগুলো আগে। GET /v2/communities/{id}/membersreadকোনো গ্রুপের সদস্য, তাদের ভূমিকাসহ। GET /v2/communities/{id}/rolesreadকোনো গ্রুপের ভূমিকা, সবচেয়ে উঁচুটি আগে, @everyone শেষে। GET /v2/communities/{id}/bellreadকোনো গ্রুপ তোমাকে কোন বিজ্ঞপ্তি পাঠায়। GET /v2/invites/{code}readযোগ দেওয়ার আগে, আমন্ত্রণ লিংকের পেছনের গ্রুপ। PUT /v2/roles/{id}/selfwriteনিজে বেছে নেওয়ার ভূমিকা নিন বা ছেড়ে দিন। GET /v2/communities/{id}/emojisreadএকটি গ্রুপের নিজস্ব ইমোজি। PUT /v2/communities/{id}/bellwriteকোনো গ্রুপ তোমাকে কোন বিজ্ঞপ্তি পাঠাবে তা ঠিক করা। POST /v2/invites/{code}/joinwriteআমন্ত্রণ লিংক দিয়ে গ্রুপে যোগ দেওয়া। GET /v2/communities/{id}/botsreadএকটি গ্রুপের বট আর তাদের ভূমিকা যা করতে দেয়। চ্যানেল GET /v2/communities/{id}/channelsreadকোনো গ্রুপের যে চ্যানেলগুলো তুমি দেখো, তাদের ক্রমে। GET /v2/channels/{id}/messagesreadকোনো চ্যাট চ্যানেলের বার্তা, নতুনগুলো আগে। POST /v2/channels/{id}/messageswriteকোনো চ্যাট চ্যানেলে বার্তা লেখা। POST /v2/channels/{id}/readwriteকোনো চ্যাট চ্যানেলকে একটি সময় পর্যন্ত পড়া হিসেবে চিহ্নিত করা। DELETE /v2/channel-messages/{id}writeচ্যাট চ্যানেলে নিজের কোনো বার্তা মুছে ফেলা। GET /v2/communities/{id}/voicereadএকটি গ্রুপের ভয়েস চ্যানেলে এখন কে আছে, চ্যানেল অনুযায়ী। গ্রুপ চালানো POST /v2/communities/{id}/emojisgroupsগ্রুপে একটি ইমোজি যোগ করুন। DELETE /v2/communities/{id}/emojis/{name}groupsগ্রুপ থেকে একটি ইমোজি সরান। POST /v2/communities/{id}/rolesgroupsভূমিকা তৈরি করা। PUT /v2/roles/{id}groupsকোনো ভূমিকার নাম, রং ও অধিকার বদলানো। DELETE /v2/roles/{id}groupsভূমিকা মুছে ফেলা। PUT /v2/communities/{id}/roles/ordergroupsভূমিকাগুলোর ক্রম ঠিক করা। PUT /v2/roles/{id}/members/{member}groupsকোনো সদস্যকে ভূমিকা দেওয়া বা তার কাছ থেকে নেওয়া। POST /v2/communities/{id}/channelsgroupsচ্যাট চ্যানেল তৈরি করা। PUT /v2/channels/{id}groupsকোনো চ্যানেলের নাম, বিষয় ও বিভাগ বদলানো। DELETE /v2/channels/{id}groupsচ্যাট চ্যানেল তার বার্তাসহ মুছে ফেলা। PUT /v2/communities/{id}/channels/ordergroupsবিভাগ ও চ্যাট চ্যানেলের ক্রম ঠিক করা। PUT /v2/communities/{id}/channels/shapegroupsগ্রুপের সব চ্যানেল প্রতীকের আকার ঠিক করা। GET /v2/channels/{id}/overridesgroupsভূমিকারা কোনো চ্যানেলে গ্রুপ থেকে আলাদাভাবে কী পারে। PUT /v2/channels/{id}/overrides/{role}groupsকোনো ভূমিকা কোনো চ্যানেলে আলাদাভাবে কী পারে তা ঠিক করা। POST /v2/communities/{id}/categoriesgroupsচ্যানেলের জন্য বিভাগ তৈরি করা। PUT /v2/categories/{id}groupsবিভাগের নাম বদলানো। DELETE /v2/categories/{id}groupsবিভাগ মুছে ফেলা। PUT /v2/communities/{id}/feedgroupsকোনো গ্রুপের ফিড চ্যানেল চালু বা বন্ধ করা। GET /v2/communities/{id}/invitesgroupsকোনো গ্রুপের যে আমন্ত্রণ লিংকগুলো এখনো চলে। POST /v2/communities/{id}/invitesgroupsআমন্ত্রণ লিংক তৈরি করা। DELETE /v2/invites/{code}groupsআমন্ত্রণ লিংক ফিরিয়ে নেওয়া। POST /v2/channel-messages/{id}/removegroupsচ্যানেল থেকে অন্য সদস্যের বার্তা সরানো। POST /v2/communities/{id}/posts/{post}/removegroupsগ্রুপ থেকে পোস্ট সরানো। DELETE /v2/communities/{id}/members/{member}groupsগ্রুপ থেকে কোনো সদস্যকে বের করা। PUT /v2/communities/{id}/members/{member}/timeoutgroupsকোনো সদস্যকে মিউট করা। DELETE /v2/communities/{id}/members/{member}/timeoutgroupsমিউট তুলে দেওয়া। GET /v2/communities/{id}/bansgroupsকোনো গ্রুপের চলমান নিষেধাজ্ঞা। PUT /v2/communities/{id}/bans/{member}groupsকোনো সদস্যকে নিষিদ্ধ করা। DELETE /v2/communities/{id}/bans/{member}groupsনিষেধাজ্ঞা তোলা। GET /v2/communities/{id}/loggroupsনেতৃত্বের লগ: কে কী সরিয়েছে আর কেন। POST /v2/communitiesgroupsএকটি গ্রুপ তৈরি করো। তার id ফেরত দেয়; তুমি এর প্রতিষ্ঠাতা। PUT /v2/communities/{id}groupsতুমি যে গ্রুপ চালাও তা বদলাও। যা দেবে না, তা যেমন আছে থাকবে। বট GET /v2/eventsreadকোনো ঘটনার পর থেকে বটের গ্রুপগুলোর ঘটনা, পাতায় পাতায়। GET /v2/events/streamreadবটের গ্রুপগুলোর ঘটনা, ঘটার সঙ্গে সঙ্গে (server-sent events)। GET /v2/me/commandsreadবটের কমান্ড। PUT /v2/me/commandswriteবটের সব কমান্ড একসঙ্গে ঠিক করুন। POST /v2/interactions/{id}/replywriteকোনো কমান্ড বা বোতামের উত্তর দিন। POST /v2/channels/{id}/voicewriteসংগীত বা শব্দ বাজাতে ভয়েস চ্যানেলে জায়গা নিন। ঘুরে দেখো GET /v2/tagsreadএখন চলমান ট্যাগগুলো। GET /v2/searchreadপোস্ট, নাম, ছোট নাম আর ট্যাগে খোঁজ। GET /v2/emojisreadসার্ভারের নিজস্ব ইমোজি, ছবির ঠিকানাসহ। GIF ও ভিডিও GET /v2/mediareadশেয়ার করা GIF বা ভিডিও, সবচেয়ে বেশি ব্যবহৃতগুলো আগে। GET /v2/media/minemediaতোমার নিজের মিডিয়া লাইব্রেরি, সবচেয়ে নতুনগুলো আগে। GET /v2/media/{id}readএকটি GIF বা ভিডিও, তোমার বা শেয়ার করা। POST /v2/media/uploadsmediaএকটি আপলোড শুরু করো। PUT /v2/media/uploads/{upload}mediaফাইলের একটি টুকরো পাঠাও। POST /v2/media/{id}mediaতোমার কোনো GIF বা ভিডিও বদলাও। DELETE /v2/media/{id}mediaতোমার কোনো GIF বা ভিডিও সরাও। তোমার অ্যাকাউন্ট GET /v2/mereadতোমার নিজের প্রোফাইল, সেই id-সহ যা অন্য পাথগুলো আশা করে। GET /v2/feedreadতোমার নিজের ফিড, অ্যাপ যেভাবে সাজায়। POST /v2/me/pictureswriteএকটি ছবি তার বাইট হিসেবে আপলোড করো। id আর url ফেরত দেয়; তারপর id প্রোফাইল ছবি, কভার বা পোস্টে ব্যবহার করো। PUT /v2/me/profileprofileতোমার প্রোফাইল বদলাও: নাম, পরিচিতি, প্রোফাইল ছবি, কভার আর প্রোফাইলের রং। যা দেবে না, তা যেমন আছে থাকবে। GET /v2/me/emojisreadতোমার নিজের ইমোজি। POST /v2/me/emojis/picturesprofileনিজের ইমোজির ছবি তার বাইট হিসেবে আপলোড করো। POST /v2/me/emojisprofileনিজের ইমোজি তৈরি করো। তোমার সব ইমোজি ফেরত দেয়। DELETE /v2/me/emojis/{name}profileনিজের ইমোজি সরাও। বাকিগুলো ফেরত দেয়। PUT /v2/me/emojis/sharingprofileতোমার ফলোয়াররা নিজেদের লেখায় তোমার ইমোজি ব্যবহার করতে পারবে কি না ঠিক করো। GET /v2/me/webhookswebhooksতোমার ওয়েবহুক আর তাদের অবস্থা। POST /v2/me/webhookswebhooksওয়েবহুক তৈরি করো। id আর স্বাক্ষরের গোপন কোড শুধু এবারই ফেরত দেয়। DELETE /v2/me/webhooks/{id}webhooksওয়েবহুক মুছে ফেলো। POST /v2/me/webhooks/{id}/testwebhooksওয়েবহুকে একটি পরীক্ষা পাঠাও। বিজ্ঞপ্তি GET /v2/notificationsreadতোমার বিজ্ঞপ্তি, নতুনগুলো আগে। POST /v2/notifications/readwriteতোমার বিজ্ঞপ্তিগুলো পড়া হিসেবে চিহ্নিত করো। বার্তা GET /v2/conversationsreadতোমার ইনবক্স: প্রতি আলাপে এক সারি, সবচেয়ে নতুন আগে। GET /v2/conversations/{with}/messagesreadএকটি আলাপের বার্তা, নতুনগুলো আগে। POST /v2/conversations/{with}/messageswriteএকটি আলাপে বার্তা পাঠাও। POST /v2/conversations/{with}/readwriteএকটি আলাপের সব বার্তা পড়া হিসেবে চিহ্নিত করো। DELETE /v2/conversations/{with}/messages/{id}writeতোমার একটি মেসেজ মুছে ফেলো। POST /v2/conversations/{with}/plannedwriteএকটি বার্তা পরে পাঠানোর জন্য নির্ধারণ করো। নির্ধারিত বার্তার id ফেরত দেয়। GET /v2/me/planned-messagesreadতোমার যে বার্তাগুলো এখনও পাঠানো বাকি, সময় অনুযায়ী সাজানো। POST /v2/me/planned-messages/{id}/sendwriteআটকে রাখা বা ব্যর্থ নির্ধারিত বার্তা এখনই পাঠাও। DELETE /v2/me/planned-messages/{id}writeনির্ধারিত বার্তা পাঠানোর আগে মুছে ফেলো। সম্পর্ক POST /v2/relationswriteপছন্দ, সংরক্ষণ, রিপোস্ট, ফলো, যোগদান, ব্লক, মিউট, kind অনুযায়ী। GET /v2/profiles/{handle}/followersreadকে একটি প্রোফাইল ফলো করে, নতুনরা আগে। GET /v2/profiles/{handle}/followingreadএকটি প্রোফাইল কাকে ফলো করে, নতুনরা আগে। GET /v2/me/relationsreadতুমি কাকে ব্লক, মিউট বা শুধু বার্তার জন্য ব্লক করেছ, নতুনরা আগে। সংগ্রহ GET /v2/me/collectionsreadতোমার সংগ্রহ আর তাতে পোস্টের সংখ্যা। POST /v2/me/collectionswriteসংগ্রহ তৈরি করো। তার id ফেরত দেয়। PUT /v2/me/collections/{id}writeসংগ্রহের নাম বদলাও। DELETE /v2/me/collections/{id}writeসংগ্রহ মুছে ফেলো। GET /v2/me/collections/{id}/postsreadএকটি সংগ্রহের পোস্ট, সংরক্ষিত ট্যাবের মতো। POST /v2/me/collections/{id}/postswriteপোস্ট সংগ্রহে রাখো বা সরাও। উপহার GET /v2/partner/quotareadতোমার কোটায় দেওয়ার জন্য কতটা বাকি। GET /v2/partner/giftsreadকোটা থেকে তুমি কী, কাকে আর কখন দিয়েছ – নতুনগুলো আগে। POST /v2/partner/giftsgiftsতোমার কোটা থেকে কোনো সদস্যকে প্ল্যানের মাস বা স্ফুলিঙ্গ দাও। GET /v2/gift-dropsreadপোস্টের নিচে তোমার উপহার: কতগুলো জায়গা এখনো খালি আর কীভাবে টাকা দেওয়া হয়েছে। POST /v2/gift-dropsgiftsঅন্যদের নেওয়ার জন্য উপহারসহ একটি পোস্ট প্রকাশ করো।
প্রবেশপথ প্রতিটি প্রোগ্রামের প্রথম অনুরোধ: চাবি কাজ করে কি না, আর তা কী করতে পারে?
GET /v2API সংস্করণ আর এই সার্ভারের নাম।
অধিকার read ETag-সহ v2.0 থেকে শেষে স্ল্যাশ ছাড়া: https://api.tellmelo.com/v2/ 308 দিয়ে https://api.tellmelo.com/v2-এ পাঠায়, আর সব প্রোগ্রাম তা অনুসরণ করে না।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2"উত্তর একটি Service দিয়ে উত্তর দেয়।
উদাহরণ {
"name": "tellmelo",
"version": "2.20",
"scope": "read write",
"rateLimit": {
"limit": 120,
"remaining": 117
},
"docs": "/developers/docs",
"spec": "/api/v2/openapi.json"
}সম্ভাব্য স্ট্যাটাস: 200304401429
পোস্ট সর্বজনীন পোস্ট পড়া, নিজের পোস্ট প্রকাশ করা আর আবার সরানো।
GET /v2/postsসর্বজনীন পোস্ট, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে সর্বজনীন পাথে counts.likes আর counts.reposts সবসময় 0 এবং pinned হলো false।
গ্রুপের পোস্ট এখানে নয়, /communities/{id}/posts-এ।
প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts?limit=20"উত্তর Post -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/posts/{id}একটি পোস্ট, তার id দিয়ে।
অধিকার read ETag-সহ v2.0 থেকে সর্বজনীন পাথে counts.likes আর counts.reposts সবসময় 0 এবং pinned হলো false।
গ্রুপের পোস্ট এখানে নয়, /communities/{id}/posts-এ।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1"উত্তর একটি Post দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/postsএকটি পোস্ট প্রকাশ করো।
পোস্টে লেখা বা পোল লাগে। দৈর্ঘ্য, পোলের বিকল্প আর গতি সার্ভার ঠিক করে; তার বাইরে 400 বা 429 পাবে।
media দিয়ে ছবি, একটি GIF বা একটি ভিডিও যোগ করো। GIF বা ভিডিও একাই থাকে। tellmelo-তে অন্যদের শেয়ার করা GIF ও ভিডিও তুমি ব্যবহার করতে পারো।
কাছের বন্ধুদের জন্য বা সহ-লেখকসহ পোস্ট সঙ্গে সঙ্গে প্রকাশ হয়, গ্রুপে নয় আর নির্ধারিত সময়ে নয়। দুটো একসঙ্গে হয় না।
প্যারামিটার নাম ধরন অর্থ textবডিতে stringঐচ্ছিক পোস্ট, উত্তর বা বার্তার লেখা। communityবডিতে stringঐচ্ছিক যে গ্রুপের ফিড চ্যানেলে পোস্ট যাবে তার id; চ্যানেলটি চালু থাকতে হবে আর তোমার সেই অধিকার লাগবে। না দিলে পোস্ট কোনো গ্রুপে থাকে না। quotesবডিতে stringঐচ্ছিক যে পোস্টটি এটি উদ্ধৃত করে তার id। pollবডিতে string[]ঐচ্ছিক উত্তরের বিকল্পগুলো লেখার তালিকা হিসেবে। mediaবডিতে string[]ঐচ্ছিক অ্যাপে আপলোড করা ছবির ID, অথবা মিডিয়া লাইব্রেরির একটি GIF বা ভিডিওর ID (2.14 থেকে)। audienceবডিতে stringঐচ্ছিক পোস্ট কে দেখবে: everyone যারা দেখতে পারে সবাই, close শুধু তোমার কাছের বন্ধুরা।everyoneclose coauthorবডিতে stringঐচ্ছিক যে অ্যাকাউন্টকে সহ-লেখক হতে আমন্ত্রণ জানাও তার id। তোমাদের একে অপরকে ফলো করতে হবে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"The bees are back in the garden 🐝 #garden","audience":"everyone"}' \
"https://api.tellmelo.com/v2/posts"উত্তর একটি Created দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"scheduledFor": null,
"deleteAt": null
}সম্ভাব্য স্ট্যাটাস: 200400401403429
DELETE /v2/posts/{id}নিজের একটি পোস্ট সরাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/me/scheduledতোমার যে পোস্টগুলো এখনো আসেনি, আর সেগুলো কীসের অপেক্ষায়।
অধিকার read ETag-সহ v2.12 থেকে অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/scheduled"উত্তর ScheduledPost -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "Market day tomorrow – see you at the bee stand! #garden",
"communityId": null,
"publishAt": 1758710400000,
"deleteAt": null,
"waitingFor": "time",
"createdAt": 1758624000000
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/posts/{id}/scheduleনির্ধারিত পোস্ট কখন আসবে, বা পোস্ট নিজে থেকে কখন মুছবে, তা বদলাও।
শুধু তোমার নিজের পোস্ট। পোস্টের উপহারের টাকা না দেওয়া পর্যন্ত সেটি নির্ধারণ করা যায় না।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। publishAtবডিতে integerঐচ্ছিক নির্ধারিত পোস্ট কখন আসবে, ১৯৭০ থেকে মিলিসেকেন্ডে। deleteAtবডিতে integerঐচ্ছিক পোস্ট নিজে থেকে কখন মুছবে, ১৯৭০ থেকে মিলিসেকেন্ডে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/schedule"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/posts/{id}/editতোমার একটি পোস্টের লেখা বদলাও।
শুধু তোমার প্ল্যান সম্পাদনার জন্য যে সময় দেয় তার মধ্যে। নির্ধারিত পোস্ট সম্পাদনা করা যায় না।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। textবডিতে stringআবশ্যক পোস্ট, উত্তর বা বার্তার লেখা।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"The bees are back in the garden 🐝🌻 #garden"}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/edit"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/posts/{id}/reply-settingsতোমার পোস্টে কে উত্তর দিতে পারে, উত্তর অনুমোদনের অপেক্ষা করে কি না, আর ধীর মোড।
অধিকার read ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/reply-settings"উত্তর একটি ReplySettings দিয়ে উত্তর দেয়।
উদাহরণ {
"audience": "following",
"approval": false,
"slow": "auto"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
PUT /v2/posts/{id}/reply-settingsনিজের পোস্টের উত্তর সেটিং বদলাও। যা দেবে না, তা যেমন আছে থাকবে।
শুধু তোমার নিজের পোস্ট।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। audienceবডিতে stringঐচ্ছিক কে উত্তর দিতে পারে: সবাই, যাদের তুমি ফলো করো, উল্লেখ করা লোকেরা, বা কেউ না।allfollowingmentionednobody approvalবডিতে booleanঐচ্ছিক উত্তর কি শুধু তোমার অনুমোদনের পরে দেখায়। slowবডিতে stringঐচ্ছিক ধীর মোড: auto অনেক উত্তর এলে নিজে চালু হয়, on সবসময়, off কখনো না।autoonoff
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"audience":"following","approval":false,"slow":"auto"}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/reply-settings"উত্তর একটি ReplySettings দিয়ে উত্তর দেয়।
উদাহরণ {
"audience": "following",
"approval": false,
"slow": "auto"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/posts/{id}/coauthorসহ-লেখক হওয়ার আমন্ত্রণ গ্রহণ বা প্রত্যাখ্যান করো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। acceptবডিতে booleanআবশ্যক true আমন্ত্রণ গ্রহণ করে, false প্রত্যাখ্যান করে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"accept":true}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/coauthor"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/posts/{id}/coauthorসহ-লেখক থেকে সরে যাও, অথবা লেখক হিসেবে সহ-লেখককে পোস্ট থেকে সরাও।
সহ-লেখক আর পোস্টের লেখকের জন্য।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/coauthor"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/posts/{id}/pinনিজের পোস্ট প্রোফাইলের উপরে পিন করো, অথবা পিন সরাও।
শুধু তোমার দৃশ্যমান পোস্ট। কয়টি পিন করা যায় তা প্ল্যানের উপর নির্ভর করে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। activeবডিতে booleanআবশ্যক true পোস্ট পিন করে, false পিন সরায়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"active":true}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/pin"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
উত্তর একটি পোস্টের নিচের উত্তর, parentId-সহ তালিকা হিসেবে।
GET /v2/posts/{id}/repliesএকটি পোস্টের উত্তর, ব্লক করা অ্যাকাউন্ট বাদে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে তালিকাটি সমতল এবং লেখার ক্রমে; parentId একে গাছে পরিণত করে। একটি পাতায় সবসময় পুরো থ্রেড থাকে। ব্লক করা অ্যাকাউন্টের উত্তর বাদ থাকে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies?limit=20"উত্তর Reply -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a",
"text": "Same here, the lavender is full of them.",
"kind": "post",
"author": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"verified": false,
"accountKind": "person"
},
"community": null,
"media": [],
"poll": null,
"quotes": null,
"continues": null,
"counts": {
"replies": 0,
"likes": 3,
"reposts": 0
},
"pinned": false,
"giftDrop": null,
"createdAt": 1758624600000,
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"parentId": null
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/posts/{id}/repliesএকটি পোস্টের উত্তর দাও।
ধীর মোডে প্রতি জনের প্রতি 10 মিনিটে একটি উত্তর, নইলে 429। লেখক আর তাঁর ফলো করা অ্যাকাউন্ট ছাড় পায়।
media দিয়ে সর্বোচ্চ একটি ছবি, GIF বা ভিডিও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। textবডিতে stringআবশ্যক পোস্ট, উত্তর বা বার্তার লেখা। parentIdবডিতে stringঐচ্ছিক যে উত্তরের উত্তর এটি তার id। না থাকলে সরাসরি পোস্টে। mediaবডিতে string[]ঐচ্ছিক অ্যাপে আপলোড করা ছবির ID, অথবা মিডিয়া লাইব্রেরির একটি GIF বা ভিডিওর ID (2.14 থেকে)। publishAtবডিতে integerঐচ্ছিক উত্তর কখন প্রকাশ হবে, ১৯৭০ থেকে মিলিসেকেন্ডে। না দিলে সঙ্গে সঙ্গে যায়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"Same here, the lavender is full of them."}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies"উত্তর একটি Created দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"scheduledFor": null,
"deleteAt": null
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/replies/{id}/editতোমার একটি উত্তরের লেখা বদলাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id। textবডিতে stringআবশ্যক পোস্ট, উত্তর বা বার্তার লেখা।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"Same here, the lavender and the clover are full of them."}' \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/edit"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/replies/{id}তোমার একটি উত্তর সরাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/replies/{id}/likeকোনো উত্তরে আপভোট দাও (উত্তরে ভোট চালু হওয়ার পর থেকে পছন্দ মানে আপভোট) বা আপভোট ফিরিয়ে নাও; ডাউনভোট থেকে যায়।
অধিকার write v2.12 থেকে পুরোনো ২.১৯ থেকে পুরোনো: POST /replies/{id}/vote ব্যবহার করো। এই রুট আপাতত থাকছে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id। activeবডিতে booleanআবশ্যক true সম্পর্ক স্থাপন করে, false সরিয়ে দেয়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"active":true}' \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/like"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/replies/{id}/voteকোনো উত্তরে উপরে বা নিচে ভোট দাও, অথবা তোমার ভোট ফিরিয়ে নাও। তোমার ভোট আর পরের স্কোর ফেরত দেয়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id। voteবডিতে stringআবশ্যক up উপরে ভোট, down নিচে ভোট, none তোমার ভোট ফিরিয়ে নেয়।updownnone
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"vote":"up"}' \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/vote"উত্তর একটি ReplyVote দিয়ে উত্তর দেয়।
উদাহরণ {
"vote": "up",
"score": 12
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/replies/{id}/pickনিজের পোস্টের নিচে একটি উত্তরকে সেরা হিসেবে হাইলাইট করো, অথবা হাইলাইট সরাও।
শুধু নিজের পোস্টের নিচে আর শুধু পোস্টের সরাসরি উত্তর। নতুন হাইলাইট পুরোনোটার জায়গা নেয়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id। activeবডিতে booleanআবশ্যক true উত্তর হাইলাইট করে, false হাইলাইট সরায়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"active":true}' \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/pick"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/posts/{id}/replies/waitingএকটি পোস্টের নিচে অনুমোদনের অপেক্ষায় থাকা উত্তর: নিজের পোস্টে সব, নইলে শুধু তোমার।
অধিকার read ETag-সহ v2.19 থেকে উত্তর অপেক্ষা করবে কি না, লেখক উত্তর সেটিংয়ে ঠিক করেন।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies/waiting"উত্তর Reply -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a",
"text": "Same here, the lavender is full of them.",
"kind": "post",
"author": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"verified": false,
"accountKind": "person"
},
"community": null,
"media": [],
"poll": null,
"quotes": null,
"continues": null,
"counts": {
"replies": 0,
"likes": 3,
"reposts": 0
},
"pinned": false,
"giftDrop": null,
"createdAt": 1758624600000,
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"parentId": null
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/replies/{id}/decideনিজের পোস্টের নিচে অপেক্ষমাণ উত্তর অনুমোদন বা প্রত্যাখ্যান করো। প্রত্যাখ্যাত উত্তর মুছে যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক উত্তরের id। approveবডিতে booleanআবশ্যক true উত্তর অনুমোদন করে, false প্রত্যাখ্যান করে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"approve":true}' \
"https://api.tellmelo.com/v2/replies/9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a/decide"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/posts/{id}/replies/plannedএকটি পোস্টের নিচে পরে পাঠানোর জন্য নির্ধারিত তোমার উত্তর।
অধিকার read ETag-সহ v2.19 থেকে উত্তর দেওয়ার সময় publishAt দিয়ে নির্ধারণ হয়। একসঙ্গে সর্বোচ্চ ২০টি নির্ধারিত উত্তর।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/replies/planned"উত্তর PlannedReply -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
"parentId": null,
"text": "Count me in for Saturday!",
"publishAt": 1758710400000,
"state": "waiting"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
PUT /v2/me/planned-replies/{id}নির্ধারিত উত্তরের লেখা বা সময় বদলাও। ব্যর্থ উত্তর আবার অপেক্ষা করে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক নির্ধারিত উত্তরের id। textবডিতে stringঐচ্ছিক পোস্ট, উত্তর বা বার্তার লেখা। publishAtবডিতে integerঐচ্ছিক উত্তর কখন প্রকাশ হবে, ১৯৭০ থেকে মিলিসেকেন্ডে। না দিলে সঙ্গে সঙ্গে যায়।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"See you there!","publishAt":1758700000000}' \
"https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/me/planned-replies/{id}/sendনির্ধারিত উত্তর এখনই পাঠাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক নির্ধারিত উত্তরের id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9/send"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/me/planned-replies/{id}নির্ধারিত উত্তর মুছে ফেলো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক নির্ধারিত উত্তরের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/planned-replies/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
পোল পোল হলো এমন পোস্ট যার poll ঠিক করা আছে। ভোটের নিজস্ব পাথ আছে।
POST /v2/posts/{id}/voteএকটি পোলে অংশ নাও।
তুমি ভোট না দেওয়া বা পোল শেষ না হওয়া পর্যন্ত প্রতি বিকল্পের ভোট null। total সবসময় থাকে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি পোস্টের id। optionবডিতে integerআবশ্যক কোন বিকল্প, 0 থেকে গুনে। একাধিক বাছাইয়ে প্রতি বিকল্পে একবার কল করো। retractবডিতে booleanঐচ্ছিক true ভোট তুলে নেয়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"option":0}' \
"https://api.tellmelo.com/v2/posts/5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1/vote"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
প্রোফাইল ছোট নাম দিয়ে সর্বজনীন প্রোফাইল, আর তারা কী পোস্ট করেছে।
GET /v2/profiles/{handle}একটি প্রোফাইল, তার ছোট নাম দিয়ে।
অধিকার read ETag-সহ v2.0 থেকে প্যারামিটার নাম ধরন অর্থ handleপাথে stringআবশ্যক একটি প্রোফাইলের ছোট নাম; বড় বা ছোট হাতের অক্ষরে কিছু যায় আসে না।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/profiles/mara"উত্তর একটি Profile দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person",
"about": "Beekeeper, allotment, too many seeds. :tellmelo:",
"website": "https://mara-imkerei.example/",
"websiteVerified": true,
"followers": 148,
"createdAt": 1750848000000
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/profiles/{handle}/postsএকটি প্রোফাইলের সর্বজনীন পোস্ট, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে সর্বজনীন পাথে counts.likes আর counts.reposts সবসময় 0 এবং pinned হলো false।
গ্রুপের পোস্ট এখানে নয়, /communities/{id}/posts-এ।
প্যারামিটার নাম ধরন অর্থ handleপাথে stringআবশ্যক একটি প্রোফাইলের ছোট নাম; বড় বা ছোট হাতের অক্ষরে কিছু যায় আসে না। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/profiles/mara/posts?limit=20"উত্তর Post -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/profiles/{handle}/eventsএকটি প্রোফাইলের আসন্ন ইভেন্ট, সবচেয়ে কাছেরটি আগে।
অধিকার read ETag-সহ v2.19 থেকে শুধু যতক্ষণ প্রোফাইলের প্ল্যানে ইভেন্ট আছে। যারা একে অপরকে ব্লক করেছে তাদের মধ্যে কিছু নয়।
প্যারামিটার নাম ধরন অর্থ handleপাথে stringআবশ্যক একটি প্রোফাইলের ছোট নাম; বড় বা ছোট হাতের অক্ষরে কিছু যায় আসে না।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/profiles/mara/events"উত্তর Event -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b",
"title": "Seed swap",
"startsAt": 1758883200000,
"endsAt": 1758890400000,
"place": "Community garden",
"description": "Bring seeds, take seeds.",
"signups": {
"count": 14,
"going": true
}
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/me/eventsইভেন্ট তৈরি করো। তার id ফেরত দেয়।
ইভেন্টসহ প্ল্যান লাগে, নইলে 403। কতটি আসন্ন থাকতে পারে তা প্ল্যানের উপর নির্ভর করে।
প্যারামিটার নাম ধরন অর্থ titleবডিতে stringআবশ্যক শিরোনাম। startsAtবডিতে integerআবশ্যক শুরু, ১৯৭০ থেকে মিলিসেকেন্ডে। endsAtবডিতে integerঐচ্ছিক শেষ, ১৯৭০ থেকে মিলিসেকেন্ডে। ঐচ্ছিক। placeবডিতে stringঐচ্ছিক কোথায় হবে। descriptionবডিতে stringঐচ্ছিক একটি বিবরণ। signupsবডিতে booleanঐচ্ছিক নাম লেখানো যাবে কি না। নাম লেখানোসহ প্ল্যান লাগে। capacityবডিতে integerঐচ্ছিক সর্বোচ্চ কতজন নাম লেখাতে পারবে। না দিলে সীমা নেই।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"title":"Seed swap","startsAt":1758700000000,"place":"Community garden","signups":true,"capacity":30}' \
"https://api.tellmelo.com/v2/me/events"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403429
PUT /v2/me/events/{id}তোমার একটি ইভেন্ট বদলাও। সব ঘর নতুন করে সেট হয়।
শুরু হয়ে যাওয়া ইভেন্ট তার শুরুর সময় রাখে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ইভেন্টের id। titleবডিতে stringআবশ্যক শিরোনাম। startsAtবডিতে integerআবশ্যক শুরু, ১৯৭০ থেকে মিলিসেকেন্ডে। endsAtবডিতে integerঐচ্ছিক শেষ, ১৯৭০ থেকে মিলিসেকেন্ডে। ঐচ্ছিক। placeবডিতে stringঐচ্ছিক কোথায় হবে। descriptionবডিতে stringঐচ্ছিক একটি বিবরণ। signupsবডিতে booleanঐচ্ছিক নাম লেখানো যাবে কি না। নাম লেখানোসহ প্ল্যান লাগে। capacityবডিতে integerঐচ্ছিক সর্বোচ্চ কতজন নাম লেখাতে পারবে। না দিলে সীমা নেই।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"title":"Seed swap","startsAt":1758700000000,"place":"Community garden","signups":true,"capacity":30}' \
"https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/me/events/{id}তোমার একটি ইভেন্ট মুছে ফেলো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ইভেন্টের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/me/events/{id}/signupsতোমার কোনো ইভেন্টে কে নাম লিখিয়েছে।
অধিকার read ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ইভেন্টের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b/signups"উত্তর EventSignup -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"at": 1758624000000
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/events/{id}/signupকোনো ইভেন্টে নাম লেখাও বা বাতিল করো।
শুধু নাম লেখানোর ইভেন্টে, নিজেরটিতে নয়। ভরে গেলে 409।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ইভেন্টের id। goingবডিতে booleanআবশ্যক true তোমার নাম লেখায়, false বাতিল করে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"going":true}' \
"https://api.tellmelo.com/v2/events/2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b/signup"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
গ্রুপ খোলা গ্রুপ আর তোমার নিজের গ্রুপ, তাদের পোস্ট, সদস্য, ভূমিকা ও আমন্ত্রণ লিংক।
GET /v2/communitiesএই ইনস্ট্যান্সের খোলা গ্রুপ; mine=true দিলে তোমার অ্যাকাউন্টের গ্রুপ।
অধিকার read ETag-সহ v2.0 থেকে সদস্যসংখ্যা অনুযায়ী সাজানো এবং পাতায় ভাগ হয় না; next সবসময় null।
প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। mineকোয়েরিতে booleanঐচ্ছিক তোমার অ্যাকাউন্টের গ্রুপের জন্য true, অভ্যন্তরীণ ও লুকানোগুলোও, নামের ক্রমে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities?limit=20"উত্তর Community -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening",
"handle": "urbangardening",
"description": "Balconies, allotments, rooftops: whatever grows.",
"tags": [
"garden",
"bees"
],
"members": 312,
"joinPolicy": "open",
"visibility": "open",
"feedChannel": true,
"sparks": 24,
"perks": [
"tint",
"welcome"
],
"membership": {
"leader": null,
"roles": [
"4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
],
"permissions": [
"attach",
"invite",
"send",
"view"
],
"mutedUntil": null
}
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/communities/{id}একটি গ্রুপ, তার id দিয়ে।
অধিকার read ETag-সহ v2.0 থেকে অভ্যন্তরীণ ও লুকানো গ্রুপ শুধু তোমার অ্যাকাউন্ট সদস্য হলে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"উত্তর একটি Community দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening",
"handle": "urbangardening",
"description": "Balconies, allotments, rooftops: whatever grows.",
"tags": [
"garden",
"bees"
],
"members": 312,
"joinPolicy": "open",
"visibility": "open",
"feedChannel": true,
"sparks": 24,
"perks": [
"tint",
"welcome"
],
"membership": {
"leader": null,
"roles": [
"4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
],
"permissions": [
"attach",
"invite",
"send",
"view"
],
"mutedUntil": null
}
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/communities/{id}/postsকোনো গ্রুপের ফিড চ্যানেলের পোস্ট, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে সর্বজনীন পাথে counts.likes আর counts.reposts সবসময় 0 এবং pinned হলো false।
ফিড চ্যানেল বন্ধ থাকলে পথটি 409 আর feed_off দিয়ে উত্তর দেয়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/posts?limit=20"উত্তর Post -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/communities/{id}/membersকোনো গ্রুপের সদস্য, তাদের ভূমিকাসহ।
অধিকার read ETag-সহ v2.15 থেকে আগে নেতৃত্ব, তারপর সবচেয়ে উঁচু ভূমিকা অনুযায়ী; সর্বোচ্চ ৩০০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members"উত্তর GroupMember -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false,
"leader": null,
"roles": [
"4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
],
"mutedUntil": null
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/communities/{id}/rolesকোনো গ্রুপের ভূমিকা, সবচেয়ে উঁচুটি আগে, @everyone শেষে।
অধিকার read ETag-সহ v2.15 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/roles"উত্তর Role -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
"name": "Gardeners",
"everyone": false,
"color": "green",
"permissions": [
"attach",
"invite",
"send",
"view"
],
"members": 24,
"editable": true,
"selfable": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/communities/{id}/bellকোনো গ্রুপ তোমাকে কোন বিজ্ঞপ্তি পাঠায়।
অধিকার read ETag-সহ v2.15 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bell"উত্তর একটি Bell দিয়ে উত্তর দেয়।
উদাহরণ {
"level": "important"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/invites/{code}যোগ দেওয়ার আগে, আমন্ত্রণ লিংকের পেছনের গ্রুপ।
অধিকার read ETag-সহ v2.15 থেকে প্যারামিটার নাম ধরন অর্থ codeপাথে stringআবশ্যক আমন্ত্রণ লিংকের কোড, তার ঠিকানার শেষাংশ।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/invites/k7Qm2xPa"উত্তর একটি InvitePreview দিয়ে উত্তর দেয়।
উদাহরণ {
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening",
"members": 312,
"rules": [
"Be kind.",
"No advertising."
]
},
"member": false
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
PUT /v2/roles/{id}/selfনিজে বেছে নেওয়ার ভূমিকা নিন বা ছেড়ে দিন।
শুধু সেই ভূমিকা যা নেতৃত্ব নিজে বেছে নেওয়ার জন্য দেয় (selfable), এবং শুধু আপনার নিজের অ্যাকাউন্টের জন্য।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো ভূমিকার id। activeবডিতে booleanঐচ্ছিক false ভূমিকা নিয়ে নেয়; নইলে ভূমিকা দেওয়া হয়।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"active":true}' \
"https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8/self"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/emojisএকটি গ্রুপের নিজস্ব ইমোজি।
অধিকার read ETag-সহ v2.20 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/emojis"উত্তর GroupEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "seedling",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
PUT /v2/communities/{id}/bellকোনো গ্রুপ তোমাকে কোন বিজ্ঞপ্তি পাঠাবে তা ঠিক করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। levelবডিতে stringআবশ্যক কোন বিজ্ঞপ্তি আসে।allimportantoff
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"level":"important"}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bell"উত্তর একটি Bell দিয়ে উত্তর দেয়।
উদাহরণ {
"level": "important"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/invites/{code}/joinআমন্ত্রণ লিংক দিয়ে গ্রুপে যোগ দেওয়া।
প্যারামিটার নাম ধরন অর্থ codeপাথে stringআবশ্যক আমন্ত্রণ লিংকের কোড, তার ঠিকানার শেষাংশ। rulesবডিতে booleanঐচ্ছিক গ্রুপের নিয়ম মানলে true; নিয়ম থাকলে দরকার।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/invites/k7Qm2xPa/join"উত্তর একটি Joined দিয়ে উত্তর দেয়।
উদাহরণ {
"community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/botsএকটি গ্রুপের বট আর তাদের ভূমিকা যা করতে দেয়।
অধিকার read ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bots"উত্তর GroupBot -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "gardenbot",
"name": "Garden bot",
"description": "Reminds the group of watering days.",
"permissions": [
"send",
"view"
]
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
চ্যানেল তোমার গ্রুপগুলোর চ্যানেল ও তাদের চ্যাট: পড়া, লেখা, পড়া হিসেবে চিহ্নিত করা।
GET /v2/communities/{id}/channelsকোনো গ্রুপের যে চ্যানেলগুলো তুমি দেখো, তাদের ক্রমে।
অধিকার read ETag-সহ v2.15 থেকে ফিড চ্যানেল (kind: feed) এখানে শুধু চালু থাকলেই থাকে; তার পোস্ট আসে /communities/{id}/posts দিয়ে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/channels"উত্তর Channel -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"kind": "chat",
"name": "harvest",
"topic": "What came in this week",
"category": {
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Garden",
"symbol": {
"emoji": null,
"icon": null,
"image": null,
"color": null,
"shape": null
}
},
"unread": 3,
"permissions": [
"view",
"send"
],
"symbol": {
"emoji": "🌻",
"icon": null,
"image": null,
"color": "amber",
"shape": "circle"
}
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/channels/{id}/messagesকোনো চ্যাট চ্যানেলের বার্তা, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.15 থেকে প্রতি পৃষ্ঠায় ৫০টি বার্তা পর্যন্ত। যাদের তুমি ব্লক করেছ বা যারা তোমাকে ব্লক করেছে, তাদের বার্তা থাকে না।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে। threadকোয়েরিতে stringঐচ্ছিক যে বার্তার থ্রেড পড়া হয়: চ্যাটের বদলে সেটি ও তার উত্তরগুলো।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/messages"উত্তর ChannelMessage -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
"text": "@jon the first tomatoes are ripe 🍅",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"bot": false
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"replyTo": "72b3c4d5-e6f7-4081-92a3-b4c5d6e7f809",
"roleColor": "green",
"threadOf": null,
"threadCount": 3,
"card": null,
"buttons": [],
"createdAt": 1758631200000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/channels/{id}/messagesকোনো চ্যাট চ্যানেলে বার্তা লেখা।
@নাম একজন সদস্যকে জানায়, @everyone অধিকার থাকলে সবাইকে, ঘণ্টায় সর্বোচ্চ ছয়বার।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id। textবডিতে stringঐচ্ছিক পোস্ট, উত্তর বা বার্তার লেখা। replyToবডিতে stringঐচ্ছিক একই চ্যানেলের যে বার্তার উত্তর দিচ্ছ তার id। mediaবডিতে string[]ঐচ্ছিক অ্যাপে আপলোড করা ছবির ID, অথবা মিডিয়া লাইব্রেরির একটি GIF বা ভিডিওর ID (2.14 থেকে)। threadবডিতে stringঐচ্ছিক চ্যাটের যে বার্তার থ্রেডে উত্তর দেওয়া হয়; সেটি ছাড়া বার্তা চ্যাটে যায়। cardবডিতে objectঐচ্ছিক একটি কার্ড { title, text, color, fields: [{ name, value }] }, সর্বোচ্চ ১০টি ফিল্ড। buttonsবডিতে object[]ঐচ্ছিক ৫টি পর্যন্ত বোতাম, প্রতিটি { id, label, style }, style হলো primary, secondary বা danger। চাপ interaction ঘটনা হিসেবে আসে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"Who has seeds to swap?"}' \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/messages"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/channels/{id}/readকোনো চ্যাট চ্যানেলকে একটি সময় পর্যন্ত পড়া হিসেবে চিহ্নিত করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id। atবডিতে integerআবশ্যক কখন পর্যন্ত পড়া হয়েছে, মিলিসেকেন্ডে, সাধারণত সবচেয়ে নতুন বার্তার createdAt।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/read"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/channel-messages/{id}চ্যাট চ্যানেলে নিজের কোনো বার্তা মুছে ফেলা।
শুধু নিজের বার্তা; অন্যদের বার্তা নেতৃত্ব groups অনুমতি দিয়ে সরায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক চ্যাট চ্যানেলের কোনো বার্তার id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channel-messages/61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/voiceএকটি গ্রুপের ভয়েস চ্যানেলে এখন কে আছে, চ্যানেল অনুযায়ী।
অধিকার read ETag-সহ v2.19 থেকে শুধু যে চ্যানেলগুলো তুমি দেখতে পারো। মিডিয়া সার্ভার না থাকলে তালিকা ফাঁকা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/voice"উত্তর VoiceRoom -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"people": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"muted": false,
"deaf": false,
"camera": false,
"screen": true
}
]
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
গ্রুপ চালানো অ্যাপে গ্রুপের সেটিংস যা পারে, groups অনুমতি দিয়ে। তোমার অ্যাকাউন্ট কী পারে তা গ্রুপ অ্যাপের মতোই ঠিক করে: নেতৃত্ব, ভূমিকা আর তাদের ক্রম।
POST /v2/communities/{id}/emojisগ্রুপে একটি ইমোজি যোগ করুন।
শুধু যিনি গ্রুপের চ্যানেল পরিচালনা করতে পারেন। ছবিটি নিজের ইমোজির মতো আপলোড হয় (POST /me/emojis/pictures); একটি নাম সব ইমোজির মধ্যে একবারই দেওয়া যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameবডিতে stringআবশ্যক যে নামে তুমি ইমোজি লেখো, যেমন :নাম:। pictureবডিতে stringআবশ্যক POST /me/emojis/pictures থেকে পাওয়া id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"seedling","picture":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/emojis"উত্তর GroupEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "seedling",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/communities/{id}/emojis/{name}গ্রুপ থেকে একটি ইমোজি সরান।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameপাথে stringআবশ্যক ইমোজির নাম, কোলন ছাড়া।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/emojis/seedling"উত্তর GroupEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "seedling",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/communities/{id}/rolesভূমিকা তৈরি করা।
শুধু তোমার সবচেয়ে উঁচু ভূমিকার নিচের ভূমিকা আর শুধু তোমার নিজের অধিকার; নেতৃত্ব সবার ওপরে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameবডিতে stringঐচ্ছিক ভূমিকার নাম; @everyone নিজের নাম রাখে। colorবডিতে stringঐচ্ছিক রং; কোনোটি না হলে খালি।indigovioletroseambergreenteal permissionsবডিতে string[]ঐচ্ছিক অধিকার: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles। selfableবডিতে booleanঐচ্ছিক true: সদস্যরা ভূমিকা নিজেরা নেয়। শুধু এমন ভূমিকার জন্য যা অংশ নেওয়ার বেশি অনুমতি দেয় না (view, send, attach, voice_connect, voice_speak, voice_video)।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Gardeners","permissions":["view","send","invite"],"selfable":false}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/roles"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/roles/{id}কোনো ভূমিকার নাম, রং ও অধিকার বদলানো।
নাম, রং ও অধিকার বদলে দেয়; যা বাদ দাও তা খালি হয়ে যায়।
শুধু তোমার সবচেয়ে উঁচু ভূমিকার নিচের ভূমিকা আর শুধু তোমার নিজের অধিকার; নেতৃত্ব সবার ওপরে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো ভূমিকার id। nameবডিতে stringঐচ্ছিক ভূমিকার নাম; @everyone নিজের নাম রাখে। colorবডিতে stringঐচ্ছিক রং; কোনোটি না হলে খালি।indigovioletroseambergreenteal permissionsবডিতে string[]ঐচ্ছিক অধিকার: view, send, attach, post_feed, invite, mention_everyone, moderate, timeout_members, kick_members, ban_members, manage_channels, manage_roles। selfableবডিতে booleanঐচ্ছিক true: সদস্যরা ভূমিকা নিজেরা নেয়। শুধু এমন ভূমিকার জন্য যা অংশ নেওয়ার বেশি অনুমতি দেয় না (view, send, attach, voice_connect, voice_speak, voice_video)।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Gardeners","permissions":["view","send","invite"],"selfable":false}' \
"https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/roles/{id}ভূমিকা মুছে ফেলা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো ভূমিকার id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/communities/{id}/roles/orderভূমিকাগুলোর ক্রম ঠিক করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। rolesবডিতে string[]আবশ্যক তোমার নিজের সর্বোচ্চ ভূমিকার নিচের সব ভূমিকার id, সর্বোচ্চটি আগে; নেতৃত্বের জন্য @everyone ছাড়া সবগুলো।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/roles/order"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/roles/{id}/members/{member}কোনো সদস্যকে ভূমিকা দেওয়া বা তার কাছ থেকে নেওয়া।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো ভূমিকার id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id। activeবডিতে booleanঐচ্ছিক false ভূমিকা নিয়ে নেয়; নইলে ভূমিকা দেওয়া হয়।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"active":true}' \
"https://api.tellmelo.com/v2/roles/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/communities/{id}/channelsচ্যাট চ্যানেল তৈরি করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameবডিতে stringঐচ্ছিক নাম, # ছাড়া; খালি রাখলে অ্যাপ প্রতিটি ভাষায় যে নাম দেয়। topicবডিতে stringঐচ্ছিক চ্যানেলের ওপরে দেখানো বিষয়। categoryবডিতে stringঐচ্ছিক যে বিভাগে চ্যানেলটি যাবে তার id; কোনোটিতে না হলে খালি। emojiবডিতে stringঐচ্ছিক প্রতীক হিসেবে একটি ইমোজি। iconবডিতে stringঐচ্ছিক অ্যাপের সেটের একটি প্রতীক, তার নাম দিয়ে।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile imageবডিতে stringঐচ্ছিক /media/emoji দিয়ে আপলোড করা ছবির id।colorবডিতে stringঐচ্ছিক টাইলের রং।brandindigovioletroseambergreentealred shapeবডিতে stringঐচ্ছিক টাইলের আকার; না দিলে বৃত্ত।circlesquaretrianglediamondhexagonoctagonshieldstar
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"harvest","emoji":"🌻","color":"amber"}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/channels"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/channels/{id}কোনো চ্যানেলের নাম, বিষয় ও বিভাগ বদলানো।
নাম, বিষয় ও বিভাগ বদলে দেয়; যা বাদ দাও তা খালি হয়ে যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id। nameবডিতে stringঐচ্ছিক নাম, # ছাড়া; খালি রাখলে অ্যাপ প্রতিটি ভাষায় যে নাম দেয়। topicবডিতে stringঐচ্ছিক চ্যানেলের ওপরে দেখানো বিষয়। categoryবডিতে stringঐচ্ছিক যে বিভাগে চ্যানেলটি যাবে তার id; কোনোটিতে না হলে খালি। emojiবডিতে stringঐচ্ছিক প্রতীক হিসেবে একটি ইমোজি। iconবডিতে stringঐচ্ছিক অ্যাপের সেটের একটি প্রতীক, তার নাম দিয়ে।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile imageবডিতে stringঐচ্ছিক /media/emoji দিয়ে আপলোড করা ছবির id।colorবডিতে stringঐচ্ছিক টাইলের রং।brandindigovioletroseambergreentealred shapeবডিতে stringঐচ্ছিক টাইলের আকার; না দিলে বৃত্ত।circlesquaretrianglediamondhexagonoctagonshieldstar
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"harvest","emoji":"🌻","color":"amber"}' \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/channels/{id}চ্যাট চ্যানেল তার বার্তাসহ মুছে ফেলা।
ফিড চ্যানেল মোছা যায় না, শুধু বন্ধ করা যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/communities/{id}/channels/orderবিভাগ ও চ্যাট চ্যানেলের ক্রম ঠিক করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। categoriesবডিতে string[]আবশ্যক গ্রুপের সব বিভাগের id, নতুন ক্রমে। channelsবডিতে string[]আবশ্যক গ্রুপের সব চ্যাট চ্যানেলের id, নতুন ক্রমে।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/channels/order"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/communities/{id}/channels/shapeগ্রুপের সব চ্যানেল প্রতীকের আকার ঠিক করা।
শুধু গ্রুপের নেতৃত্ব।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। shapeবডিতে stringঐচ্ছিক গ্রুপের সব প্রতীকের আকার; বাদ দিলে প্রতিটি চ্যানেলের নিজের।circlesquaretrianglediamondhexagonoctagonshieldstar
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/channels/shape"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/channels/{id}/overridesভূমিকারা কোনো চ্যানেলে গ্রুপ থেকে আলাদাভাবে কী পারে।
অধিকার groups ETag-সহ v2.15 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/overrides"উত্তর ChannelOverride -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
"allow": [
"send"
],
"deny": []
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401403404429
PUT /v2/channels/{id}/overrides/{role}কোনো ভূমিকা কোনো চ্যানেলে আলাদাভাবে কী পারে তা ঠিক করা।
তোমার সবচেয়ে উঁচু ভূমিকার সমান বা ওপরের ভূমিকার জন্য নয়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id। roleপাথে stringআবশ্যক কোনো ভূমিকার id। allowবডিতে string[]ঐচ্ছিক ভূমিকা এখানে বাড়তি কী করতে পারে: চ্যাটে view, send, attach, mention_everyone, moderate, ফিড চ্যানেলে view আর post_feed। denyবডিতে string[]ঐচ্ছিক ভূমিকাটি এখানে কী পারে না, একই অধিকার থেকে। দুটি তালিকাই খালি হলে পার্থক্য উঠে যায়।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"allow":["view"],"deny":["send"]}' \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/overrides/4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/communities/{id}/categoriesচ্যানেলের জন্য বিভাগ তৈরি করা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameবডিতে stringআবশ্যক বিভাগের নাম। emojiবডিতে stringঐচ্ছিক প্রতীক হিসেবে একটি ইমোজি। iconবডিতে stringঐচ্ছিক অ্যাপের সেটের একটি প্রতীক, তার নাম দিয়ে।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile imageবডিতে stringঐচ্ছিক /media/emoji দিয়ে আপলোড করা ছবির id।colorবডিতে stringঐচ্ছিক টাইলের রং।brandindigovioletroseambergreentealred
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Garden","emoji":"🌻","color":"amber"}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/categories"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/categories/{id}বিভাগের নাম বদলানো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো বিভাগের id। nameবডিতে stringআবশ্যক বিভাগের নাম। emojiবডিতে stringঐচ্ছিক প্রতীক হিসেবে একটি ইমোজি। iconবডিতে stringঐচ্ছিক অ্যাপের সেটের একটি প্রতীক, তার নাম দিয়ে।homehashmegaphonevolumemessagehelpinfobellcalendarbookbookmarkpinshieldstarheartsparklesflamezaptrophygiftrocketlightbulbcodewrenchbriefcasegraduationpalettecamerafilmmusicgamepaddumbbellleafflowerpawsunmooncloudglobemapcoffeepizzasmile imageবডিতে stringঐচ্ছিক /media/emoji দিয়ে আপলোড করা ছবির id।colorবডিতে stringঐচ্ছিক টাইলের রং।brandindigovioletroseambergreentealred
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Garden","emoji":"🌻","color":"amber"}' \
"https://api.tellmelo.com/v2/categories/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/categories/{id}বিভাগ মুছে ফেলা।
এর চ্যানেলগুলো থাকে, বিভাগ ছাড়া।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো বিভাগের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/categories/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/communities/{id}/feedকোনো গ্রুপের ফিড চ্যানেল চালু বা বন্ধ করা।
বন্ধ থাকলে পোস্টগুলো সংরক্ষিত থাকে, কিন্তু শুধু তাদের লেখকরা দেখতে পায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। onবডিতে booleanআবশ্যক true ফিড চ্যানেল চালু করে, false বন্ধ করে।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/feed"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/invitesকোনো গ্রুপের যে আমন্ত্রণ লিংকগুলো এখনো চলে।
অধিকার groups ETag-সহ v2.15 থেকে নেতৃত্ব সব দেখে, বাকিরা শুধু নিজেদেরগুলো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/invites"উত্তর InviteLink -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"code": "k7Qm2xPa",
"url": "https://tellmelo.com/groups?join=k7Qm2xPa",
"createdBy": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"createdAt": 1758624000000,
"expiresAt": 1759228800000,
"uses": 3,
"maxUses": 10
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401403404429
POST /v2/communities/{id}/invitesআমন্ত্রণ লিংক তৈরি করা।
লিংক ততক্ষণই চলে যতক্ষণ তুমি আমন্ত্রণ জানাতে পারো, আর তুমি চলে গেলে সরে যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। daysবডিতে integerঐচ্ছিক লিংক কত দিন চলবে; না দিলে ফিরিয়ে নেওয়া পর্যন্ত।1730 usesবডিতে integerঐচ্ছিক লিংক কতবার ব্যবহার করা যাবে; না দিলে সীমাহীন।151025100
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"days":7,"uses":10}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/invites"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/invites/{code}আমন্ত্রণ লিংক ফিরিয়ে নেওয়া।
প্যারামিটার নাম ধরন অর্থ codeপাথে stringআবশ্যক আমন্ত্রণ লিংকের কোড, তার ঠিকানার শেষাংশ।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/invites/k7Qm2xPa"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/channel-messages/{id}/removeচ্যানেল থেকে অন্য সদস্যের বার্তা সরানো।
অ্যাপের মতোই গ্রুপের লগে লেখা হয়, আর ঘণ্টায় সর্বোচ্চ ৬০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক চ্যাট চ্যানেলের কোনো বার্তার id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channel-messages/61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8/remove"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/communities/{id}/posts/{post}/removeগ্রুপ থেকে পোস্ট সরানো।
অ্যাপের মতোই গ্রুপের লগে লেখা হয়, আর ঘণ্টায় সর্বোচ্চ ৬০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। postপাথে stringআবশ্যক একটি পোস্টের id। reasonবডিতে stringআবশ্যক সদস্য যে কারণ পড়বে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"reason":"Advertising for another site, despite rule 2."}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/posts/post/remove"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/communities/{id}/members/{member}গ্রুপ থেকে কোনো সদস্যকে বের করা।
2.16 থেকে এটি বের করে দেওয়া: সদস্য ফিরে আসতে পারে। যাকে বাইরে থাকতে হবে, তাকে নিষিদ্ধ করা হয়।
শুধু সংশ্লিষ্ট অধিকার থাকলে এবং শুধু তোমার সর্বোচ্চ ভূমিকার নিচের সদস্যদের ক্ষেত্রে; সহ-নেতৃত্বের ক্ষেত্রে শুধু প্রতিষ্ঠাতা।
অ্যাপের মতোই গ্রুপের লগে লেখা হয়, আর ঘণ্টায় সর্বোচ্চ ৬০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id। reasonবডিতে stringআবশ্যক সদস্য যে কারণ পড়বে।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"reason":"Advertising for another site, despite rule 2."}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/communities/{id}/members/{member}/timeoutকোনো সদস্যকে মিউট করা।
নতুন মিউট চলমান মিউটের জায়গা নেয়। ছেড়ে আবার যোগ দিলে এটি শেষ হয় না।
শুধু সংশ্লিষ্ট অধিকার থাকলে এবং শুধু তোমার সর্বোচ্চ ভূমিকার নিচের সদস্যদের ক্ষেত্রে; সহ-নেতৃত্বের ক্ষেত্রে শুধু প্রতিষ্ঠাতা।
অ্যাপের মতোই গ্রুপের লগে লেখা হয়, আর ঘণ্টায় সর্বোচ্চ ৬০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id। secondsবডিতে integerআবশ্যক কতক্ষণ, সেকেন্ডে।60300600360086400604800 reasonবডিতে stringঐচ্ছিক একটি কারণ যা সদস্য পড়ে; ঐচ্ছিক।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"seconds":600}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d/timeout"উত্তর একটি Until দিয়ে উত্তর দেয়।
উদাহরণ {
"until": 1758624600000
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/communities/{id}/members/{member}/timeoutমিউট তুলে দেওয়া।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/members/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d/timeout"উত্তর একটি Until দিয়ে উত্তর দেয়।
উদাহরণ {
"until": 1758624600000
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/bansকোনো গ্রুপের চলমান নিষেধাজ্ঞা।
অধিকার groups ETag-সহ v2.16 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bans"উত্তর Ban -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"member": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"until": 1759228800000,
"createdAt": 1758624000000,
"by": "Mara 🌻"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401403404429
PUT /v2/communities/{id}/bans/{member}কোনো সদস্যকে নিষিদ্ধ করা।
days ছাড়া নিষেধাজ্ঞা তোলা না পর্যন্ত চলে।
শুধু সংশ্লিষ্ট অধিকার থাকলে এবং শুধু তোমার সর্বোচ্চ ভূমিকার নিচের সদস্যদের ক্ষেত্রে; সহ-নেতৃত্বের ক্ষেত্রে শুধু প্রতিষ্ঠাতা।
অ্যাপের মতোই গ্রুপের লগে লেখা হয়, আর ঘণ্টায় সর্বোচ্চ ৬০।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id। daysবডিতে integerঐচ্ছিক কত দিন, দিনে; শেষ ছাড়া নিষেধাজ্ঞার জন্য বাদ দাও।1730 reasonবডিতে stringআবশ্যক সদস্য যে কারণ পড়বে।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"days":7,"reason":"Advertising for another site, despite rule 2."}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bans/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"উত্তর একটি Until দিয়ে উত্তর দেয়।
উদাহরণ {
"until": 1758624600000
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/communities/{id}/bans/{member}নিষেধাজ্ঞা তোলা।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। memberপাথে stringআবশ্যক কোনো সদস্যের অ্যাকাউন্টের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/bans/d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/communities/{id}/logনেতৃত্বের লগ: কে কী সরিয়েছে আর কেন।
অধিকার groups ETag-সহ v2.15 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60/log"উত্তর LogEntry -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "8f7e6d5c-4b3a-4291-8f7e-6d5c4b3a2918",
"action": "message_removed",
"member": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"reason": "",
"by": "Mara 🌻",
"createdAt": 1758710400000
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304400401403404429
POST /v2/communitiesএকটি গ্রুপ তৈরি করো। তার id ফেরত দেয়; তুমি এর প্রতিষ্ঠাতা।
groups অনুমতি লাগে। না বললে গ্রুপ internal আর মুক্তভাবে যোগদানযোগ্য; লুকানো গ্রুপ শুধু আমন্ত্রণে। সদস্যরা গ্রুপ খুলতে পারবে কি না, তা পরিচালক ঠিক করেন।
প্যারামিটার নাম ধরন অর্থ nameবডিতে stringআবশ্যক নাম, সর্বোচ্চ ৬০ অক্ষর। descriptionবডিতে stringঐচ্ছিক বিবরণ, সর্বোচ্চ ২৪০ অক্ষর। handleবডিতে stringঐচ্ছিক @# উল্লেখ আর লিঙ্কের জন্য ছোট নাম: ৩ থেকে ৩০টি ছোট হাতের অক্ষর, সংখ্যা বা _। tagsবডিতে string[]ঐচ্ছিক গ্রুপের বিষয় নিয়ে সর্বোচ্চ ৫টি #ট্যাগ। joinPolicyবডিতে stringঐচ্ছিক কীভাবে যোগ দেওয়া যায়: open মুক্তভাবে, application আবেদনে, invite শুধু আমন্ত্রণে।openapplicationinvite visibilityবডিতে stringঐচ্ছিক কে গ্রুপ দেখে: open সবাই, internal বিষয়বস্তু শুধু সদস্যরা, hidden একেবারে শুধু সদস্যরা।openinternalhidden
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Seed swap","handle":"seedswap","tags":["garden","seeds"],"joinPolicy":"open","visibility":"open"}' \
"https://api.tellmelo.com/v2/communities"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403429
PUT /v2/communities/{id}তুমি যে গ্রুপ চালাও তা বদলাও। যা দেবে না, তা যেমন আছে থাকবে।
groups অনুমতি আর গ্রুপের নেতৃত্ব লাগে। নেতৃত্ব, গ্রুপ ভেঙে দেওয়া আর স্ফুলিঙ্গ সুবিধা অ্যাপেই থাকে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক একটি গ্রুপের id। nameবডিতে stringঐচ্ছিক নাম, সর্বোচ্চ ৬০ অক্ষর। descriptionবডিতে stringঐচ্ছিক বিবরণ, সর্বোচ্চ ২৪০ অক্ষর। handleবডিতে stringঐচ্ছিক @# উল্লেখ আর লিঙ্কের জন্য ছোট নাম: ৩ থেকে ৩০টি ছোট হাতের অক্ষর, সংখ্যা বা _। tagsবডিতে string[]ঐচ্ছিক গ্রুপের বিষয় নিয়ে সর্বোচ্চ ৫টি #ট্যাগ। joinPolicyবডিতে stringঐচ্ছিক কীভাবে যোগ দেওয়া যায়: open মুক্তভাবে, application আবেদনে, invite শুধু আমন্ত্রণে।openapplicationinvite visibilityবডিতে stringঐচ্ছিক কে গ্রুপ দেখে: open সবাই, internal বিষয়বস্তু শুধু সদস্যরা, hidden একেবারে শুধু সদস্যরা।openinternalhidden imageবডিতে stringঐচ্ছিক গ্রুপের ছবি হিসেবে আপলোড করা ছবির id (POST /me/pictures)। ফাঁকা রাখলে সরে যায়। bannerবডিতে stringঐচ্ছিক গ্রুপের কভার হিসেবে আপলোড করা ছবির id। ফাঁকা রাখলে সরে যায়।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Seed swap","handle":"seedswap","tags":["garden","seeds"],"joinPolicy":"open","visibility":"open"}' \
"https://api.tellmelo.com/v2/communities/c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
বট একটি বটের গ্রুপে যা ঘটে, সরাসরি: স্ট্রিম হিসেবে, পাতায় পাতায় বা একটি ঠিকানায় পৌঁছে দিয়ে।
GET /v2/eventsকোনো ঘটনার পর থেকে বটের গ্রুপগুলোর ঘটনা, পাতায় পাতায়।
শুধু একটি বটের টোকেন দিয়ে। কোনো চ্যানেলের ঘটনা কেবল বট সেটি দেখতে পারলে।
ঘটনা এক দিন রাখা হয়। next হলো শেষটির নম্বর, পরের পাতার জন্য since হিসেবে।
প্যারামিটার নাম ধরন অর্থ sinceকোয়েরিতে stringঐচ্ছিক বটের কাছে আগে থেকে থাকা শেষ ঘটনার নম্বর। এটি ছাড়া স্ট্রিম এখন থেকে আর তালিকা সবচেয়ে পুরোনো থেকে শুরু হয়।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/events?since=0"উত্তর BotEvent -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "4711",
"type": "message.created",
"community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"createdAt": 1758634800000,
"data": {
"message": {
"id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
"text": "/dice 6",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"bot": false
},
"media": 0,
"replyTo": null,
"threadOf": null,
"createdAt": 1758634800000
}
}
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200401429
GET /v2/events/streamবটের গ্রুপগুলোর ঘটনা, ঘটার সঙ্গে সঙ্গে (server-sent events)।
অধিকার read ETag-সহ v2.20 থেকে সংযোগ খোলা থাকে এবং দশ মিনিট পরে বন্ধ হয়; ক্লায়েন্ট আবার যুক্ত হয় এবং Last-Event-ID পাঠায়।
শুধু একটি বটের টোকেন দিয়ে। কোনো চ্যানেলের ঘটনা কেবল বট সেটি দেখতে পারলে।
প্যারামিটার নাম ধরন অর্থ sinceকোয়েরিতে stringঐচ্ছিক বটের কাছে আগে থেকে থাকা শেষ ঘটনার নম্বর। এটি ছাড়া স্ট্রিম এখন থেকে আর তালিকা সবচেয়ে পুরোনো থেকে শুরু হয়।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/events/stream?since=0"উত্তর একটি BotEvent দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "4711",
"type": "message.created",
"community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"createdAt": 1758634800000,
"data": {
"message": {
"id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
"text": "/dice 6",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"bot": false
},
"media": 0,
"replyTo": null,
"threadOf": null,
"createdAt": 1758634800000
}
}
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/me/commandsবটের কমান্ড।
অধিকার read ETag-সহ v2.20 থেকে শুধু একটি বটের টোকেন দিয়ে। কোনো চ্যানেলের ঘটনা কেবল বট সেটি দেখতে পারলে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/commands"উত্তর BotCommand -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "dice",
"description": "Rolls a die"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
PUT /v2/me/commandsবটের সব কমান্ড একসঙ্গে ঠিক করুন।
সব কমান্ড বদলে দেয়; খালি তালিকা সেগুলো সরিয়ে দেয়। বট যে চ্যাটগুলো দেখতে পারে, সেখানে ইনপুট ফিল্ড “/” এর পরে সেগুলো প্রস্তাব করে।
প্যারামিটার নাম ধরন অর্থ commandsবডিতে object[]আবশ্যক ২৫টি পর্যন্ত কমান্ড, প্রতিটি { name, description }।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"commands":[{"name":"dice","description":"Rolls a die"}]}' \
"https://api.tellmelo.com/v2/me/commands"উত্তর BotCommand -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "dice",
"description": "Rolls a die"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200400401403429
POST /v2/interactions/{id}/replyকোনো কমান্ড বা বোতামের উত্তর দিন।
command বা interaction ঘটনার ১৫ মিনিটের মধ্যে; private থাকলে উত্তর কেবল সে-ই দেখে যে কমান্ড বা বোতাম ব্যবহার করেছে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ঘটনা থেকে পাওয়া আইডি (data.interaction)। textবডিতে stringঐচ্ছিক পোস্ট, উত্তর বা বার্তার লেখা। privateবডিতে booleanঐচ্ছিক true: উত্তর এক দিন কেবল সে-ই দেখে যে কমান্ড বা বোতাম ব্যবহার করেছে।cardবডিতে objectঐচ্ছিক একটি কার্ড { title, text, color, fields: [{ name, value }] }, সর্বোচ্চ ১০টি ফিল্ড। buttonsবডিতে object[]ঐচ্ছিক ৫টি পর্যন্ত বোতাম, প্রতিটি { id, label, style }, style হলো primary, secondary বা danger। চাপ interaction ঘটনা হিসেবে আসে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"You rolled a 4.","private":true}' \
"https://api.tellmelo.com/v2/interactions/9b8c7d6e-5f4a-4b3c-8d2e-1f0a9b8c7d6e/reply"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/channels/{id}/voiceসংগীত বা শব্দ বাজাতে ভয়েস চ্যানেলে জায়গা নিন।
শুধু একটি বটের টোকেন দিয়ে, চ্যানেলে বটের ভূমিকা যতটা অনুমতি দেয়। প্রোগ্রাম একটি LiveKit SDK দিয়ে যুক্ত হয় এবং তার শব্দ মাইক্রোফোন হিসেবে পাঠায়; প্রত্যেকে নিজেই তার ভলিউম ঠিক করে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক কোনো চ্যানেলের id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/channels/0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a/voice"উত্তর একটি VoiceSeat দিয়ে উত্তর দেয়।
উদাহরণ {
"url": "wss://voice.example.org",
"token": "eyJhbGciOiJIUzI1NiJ9…",
"iceServers": [
{
"urls": [
"stun:turn.example.org:3478"
]
}
],
"speak": true,
"video": false
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
ঘুরে দেখো ট্রেন্ড, খোঁজ আর সার্ভারের নিজস্ব ইমোজি।
GET /v2/tagsএখন চলমান ট্যাগগুলো।
অধিকার read ETag-সহ v2.0 থেকে স্কোর অনুযায়ী সর্বোচ্চ 10টি ট্রেন্ডিং ট্যাগ: প্রতিটি ব্যবহার 1 গোনা হয় এবং প্রতি 3 দিনে অর্ধেক হয়, একটি অ্যাকাউন্ট দিনে সর্বোচ্চ 3 গোনা হয়। posts হলো গোলাকার করা স্কোর। limit শুধু তালিকা ছোট করে। টিম যেসব ট্যাগ তুলে ধরে সেগুলো আরও ওপরে থাকতে পারে।
প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/tags?limit=10"উত্তর Tag -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"tag": "garden",
"posts": 58
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/searchপোস্ট, নাম, ছোট নাম আর ট্যাগে খোঁজ।
অধিকার read ETag-সহ v2.0 থেকে শুধু সর্বজনীন বিষয়বস্তু খোঁজে: গ্রুপের বাইরের পোস্ট, প্রোফাইল আর ট্যাগ। limit প্রতিটি ধরনে প্রযোজ্য।
প্যারামিটার নাম ধরন অর্থ qকোয়েরিতে stringআবশ্যক যে শব্দগুলো খোঁজা হচ্ছে। typeকোয়েরিতে stringঐচ্ছিক কোন ধরনের ফল। না থাকলে সব ধরন।allpostsprofilestags limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/search?q=garden&type=posts"উত্তর একটি SearchResult দিয়ে উত্তর দেয়।
উদাহরণ {
"posts": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"profiles": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}
],
"tags": [
{
"tag": "garden",
"posts": 58
}
]
}সম্ভাব্য স্ট্যাটাস: 200304400401429
GET /v2/emojisসার্ভারের নিজস্ব ইমোজি, ছবির ঠিকানাসহ।
অধিকার read ETag-সহ v2.1 থেকে লেখায় ইমোজি :name: হিসেবে আসে। এই তালিকার ছবি দিয়ে বদলে দাও; অজানা নাম লেখাই থাকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/emojis"উত্তর Emoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "tellmelo",
"url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
GIF ও ভিডিও মিডিয়া লাইব্রেরি: শেয়ার করা GIF ও ভিডিও খোঁজো, নিজেরগুলো আপলোড ও পরিচালনা করো, আর অন্য ওয়েবসাইটে এম্বেড করো।
GET /v2/mediaশেয়ার করা GIF বা ভিডিও, সবচেয়ে বেশি ব্যবহৃতগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.14 থেকে যেসব অ্যাকাউন্ট তুমি ব্লক করেছ বা যারা তোমাকে ব্লক করেছে, সেগুলো বাদে। tellmelo-র পোস্টের জন্য url ও poster হেডারে কী দিয়ে লোড করো।
অন্য ওয়েবসাইটের জন্য শুধু যার embed আছে: এর ঠিকানাগুলো কী ছাড়াই, যেকোনো ব্রাউজারে কাজ করে।
প্যারামিটার নাম ধরন অর্থ kindকোয়েরিতে stringঐচ্ছিক gif বা video; না দিলে gif।gifvideoqকোয়েরিতে stringঐচ্ছিক নাম বা কীওয়ার্ডে থাকা শব্দ। anywhereকোয়েরিতে booleanঐচ্ছিক true: শুধু যা অন্য ওয়েবসাইটেও দেখা যেতে পারে।limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/media?kind=gif&q=bees&anywhere=true&limit=20"উত্তর MediaItem -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "gif",
"name": "Happy bees",
"keywords": "bees garden happy",
"width": 480,
"height": 270,
"seconds": 0,
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
"uploader": {
"handle": "mara",
"name": "Mara 🌻"
},
"mine": false,
"shared": true,
"anywhere": true,
"embed": {
"page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
"poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
"code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
}
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401429
GET /v2/media/mineতোমার নিজের মিডিয়া লাইব্রেরি, সবচেয়ে নতুনগুলো আগে।
অধিকার media পাতায় ভাগযোগ্য ETag-সহ v2.14 থেকে প্যারামিটার নাম ধরন অর্থ kindকোয়েরিতে stringঐচ্ছিক gif বা video; না দিলে gif।gifvideoqকোয়েরিতে stringঐচ্ছিক নাম বা কীওয়ার্ডে থাকা শব্দ। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/media/mine?kind=gif&q=bees&limit=20"উত্তর MediaItem -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "gif",
"name": "Happy bees",
"keywords": "bees garden happy",
"width": 480,
"height": 270,
"seconds": 0,
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
"uploader": {
"handle": "mara",
"name": "Mara 🌻"
},
"mine": false,
"shared": true,
"anywhere": true,
"embed": {
"page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
"poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
"code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
}
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401403429
GET /v2/media/{id}একটি GIF বা ভিডিও, তোমার বা শেয়ার করা।
অধিকার read ETag-সহ v2.14 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক GIF বা ভিডিওর ID।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"উত্তর একটি MediaItem দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "gif",
"name": "Happy bees",
"keywords": "bees garden happy",
"width": 480,
"height": 270,
"seconds": 0,
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"poster": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918&poster=1",
"uploader": {
"handle": "mara",
"name": "Mara 🌻"
},
"mine": false,
"shared": true,
"anywhere": true,
"embed": {
"page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
"poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
"code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
}
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/media/uploadsএকটি আপলোড শুরু করো।
এরপর ফাইলটি সর্বোচ্চ piece বাইটের টুকরোয় /media/uploads/{upload}-এ পাঠাও। নতুন টুকরো না এলে আপলোড 15 মিনিট পরে শেষ হয়ে যায়।
অ্যাপের সীমা প্রযোজ্য: GIF 15 MB পর্যন্ত, ভিডিও প্ল্যান অনুযায়ী আকার ও দৈর্ঘ্যে, দিনে GIF, প্রাইভেট GIF, সপ্তাহে ভিডিও পয়েন্ট। নইলে 409, 413 বা 429 আসে।
প্যারামিটার নাম ধরন অর্থ kindবডিতে stringআবশ্যক gif বা video; না দিলে gif।gifvideosizeবডিতে integerআবশ্যক পুরো ফাইলের আকার, বাইটে। nameবডিতে stringআবশ্যক যে নামে এটি খুঁজে পাওয়া যায়: 2 থেকে 40 অক্ষর। keywordsবডিতে stringঐচ্ছিক খোঁজার জন্য কীওয়ার্ড, স্পেস দিয়ে আলাদা। sharedবডিতে booleanঐচ্ছিক true: tellmelo-তে সবার সাথে শেয়ার করা।anywhereবডিতে booleanঐচ্ছিক true: শেয়ার করা এবং অন্য ওয়েবসাইটেও অনুমতিপ্রাপ্ত। শুধু shared-এর সাথে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"kind":"gif","size":2400000,"name":"Happy bees","keywords":"bees garden","shared":true,"anywhere":false}' \
"https://api.tellmelo.com/v2/media/uploads"উত্তর একটি UploadStarted দিয়ে উত্তর দেয়।
উদাহরণ {
"upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
"piece": 4194304
}সম্ভাব্য স্ট্যাটাস: 200400401403429
PUT /v2/media/uploads/{upload}ফাইলের একটি টুকরো পাঠাও।
বডি হলো টুকরোটি নিজেই (application/octet-stream), JSON নয়। এটি না মিললে received-সহ 409 আসে: সেখান থেকে আবার পাঠাও। শেষ টুকরোর পর ফাইল রূপান্তর হয়; তখন উত্তরে item থাকে।
প্যারামিটার নাম ধরন অর্থ uploadপাথে stringআবশ্যক শুরুতে পাওয়া upload। offsetকোয়েরিতে integerআবশ্যক ফাইলে টুকরোটি কোথা থেকে শুরু, বাইটে; প্রথমটির জন্য 0।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/octet-stream" \
--data-binary @piece \
"https://api.tellmelo.com/v2/media/uploads/e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b?offset=0"উত্তর একটি UploadPiece দিয়ে উত্তর দেয়।
উদাহরণ {
"received": 4194304,
"item": null
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/media/{id}তোমার কোনো GIF বা ভিডিও বদলাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক GIF বা ভিডিওর ID। nameবডিতে stringঐচ্ছিক যে নামে এটি খুঁজে পাওয়া যায়: 2 থেকে 40 অক্ষর। keywordsবডিতে stringঐচ্ছিক খোঁজার জন্য কীওয়ার্ড, স্পেস দিয়ে আলাদা। sharedবডিতে booleanঐচ্ছিক true: tellmelo-তে সবার সাথে শেয়ার করা।anywhereবডিতে booleanঐচ্ছিক true: শেয়ার করা এবং অন্য ওয়েবসাইটেও অনুমতিপ্রাপ্ত। শুধু shared-এর সাথে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Happy bees","anywhere":true}' \
"https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/media/{id}তোমার কোনো GIF বা ভিডিও সরাও।
যেসব পোস্ট এটি আগে থেকেই দেখাচ্ছে, সেগুলো এটি রেখে দেয়। অন্য ওয়েবসাইটে এটি কয়েক মিনিটের মধ্যে সরে যায়।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক GIF বা ভিডিওর ID।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/media/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
তোমার অ্যাকাউন্ট তোমার প্রোফাইল, তোমার ফিড, তোমার নিজের ইমোজি আর তোমার ওয়েবহুক।
GET /v2/meতোমার নিজের প্রোফাইল, সেই id-সহ যা অন্য পাথগুলো আশা করে।
অধিকার read ETag-সহ v2.0 থেকে অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me"উত্তর একটি Profile দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person",
"about": "Beekeeper, allotment, too many seeds. :tellmelo:",
"website": "https://mara-imkerei.example/",
"websiteVerified": true,
"followers": 148,
"createdAt": 1750848000000
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/feedতোমার নিজের ফিড, অ্যাপ যেভাবে সাজায়।
অধিকার read পাতায় ভাগযোগ্য v2.0 থেকে কোনো ETag নেই, কারণ ক্রম বারবার বদলায়। তুমি যে তালিকা শুরু করেছ তা শেষ পর্যন্ত একই থাকে।
প্যারামিটার নাম ধরন অর্থ tabকোয়েরিতে stringঐচ্ছিক কোন ফিড: for-you, following, latest বা bookmarks। শুরুতে latest।for-youfollowinglatestbookmarks tagকোয়েরিতে stringঐচ্ছিক শুধু এই ট্যাগের পোস্ট: এটি দিয়ে লেখা বা সার্ভার যেখানে এটি চিনেছে। না থাকলে কোনো ফিল্টার নেই। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/feed?tab=following&limit=20"উত্তর Post -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200400401429
POST /v2/me/picturesএকটি ছবি তার বাইট হিসেবে আপলোড করো। id আর url ফেরত দেয়; তারপর id প্রোফাইল ছবি, কভার বা পোস্টে ব্যবহার করো।
PNG, JPEG, WebP বা GIF, প্রথম বাইট দেখে চেনা হয়; মেটাডেটা ছাড়া নতুন করে সংরক্ষিত হয়। কোথাও ব্যবহার না হওয়া ছবি পরে মুছে যায়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/octet-stream" \
--data-binary @picture.png \
"https://api.tellmelo.com/v2/me/pictures"উত্তর একটি Picture দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}সম্ভাব্য স্ট্যাটাস: 200401403429
PUT /v2/me/profileতোমার প্রোফাইল বদলাও: নাম, পরিচিতি, প্রোফাইল ছবি, কভার আর প্রোফাইলের রং। যা দেবে না, তা যেমন আছে থাকবে।
profile অনুমতি লাগে। তোমার @নাম অ্যাপেই থাকে: এটি তোমার লগইন নামও।
প্যারামিটার নাম ধরন অর্থ nameবডিতে stringঐচ্ছিক প্রদর্শিত নাম, সর্বোচ্চ ৬০ অক্ষর। aboutবডিতে stringঐচ্ছিক “পরিচিতি” লেখা। avatarবডিতে stringঐচ্ছিক প্রোফাইল ছবি হিসেবে আপলোড করা ছবির id। ফাঁকা রাখলে সরে যায়। bannerবডিতে stringঐচ্ছিক কভার হিসেবে আপলোড করা ছবির id। ফাঁকা রাখলে সরে যায়। colorবডিতে stringঐচ্ছিক প্রোফাইলের রং, প্ল্যানসহ। null সরিয়ে দেয়।indigovioletrosecoralamberlimegreentealskyslatesandnight
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Mara 🌻","about":"Gardening in the city.","avatar":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
"https://api.tellmelo.com/v2/me/profile"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403429
GET /v2/me/emojisতোমার নিজের ইমোজি।
অধিকার read ETag-সহ v2.19 থেকে অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/emojis"উত্তর OwnEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "sunflower",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false,
"resting": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/me/emojis/picturesনিজের ইমোজির ছবি তার বাইট হিসেবে আপলোড করো।
চলমান ইমোজির জন্য প্ল্যান লাগে। রূপান্তরের পর খুব বড় হলে ছবি প্রত্যাখ্যাত হয়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/octet-stream" \
--data-binary @picture.png \
"https://api.tellmelo.com/v2/me/emojis/pictures"উত্তর একটি EmojiPicture দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}সম্ভাব্য স্ট্যাটাস: 200401403429
POST /v2/me/emojisনিজের ইমোজি তৈরি করো। তোমার সব ইমোজি ফেরত দেয়।
কতটি ইমোজি তৈরি করতে পারবে তা প্ল্যানের উপর নির্ভর করে।
প্যারামিটার নাম ধরন অর্থ nameবডিতে stringআবশ্যক যে নামে তুমি ইমোজি লেখো, যেমন :নাম:। pictureবডিতে stringআবশ্যক POST /me/emojis/pictures থেকে পাওয়া id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"sunflower","picture":"8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"}' \
"https://api.tellmelo.com/v2/me/emojis"উত্তর OwnEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "sunflower",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false,
"resting": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200400401403429
DELETE /v2/me/emojis/{name}নিজের ইমোজি সরাও। বাকিগুলো ফেরত দেয়।
প্যারামিটার নাম ধরন অর্থ nameপাথে stringআবশ্যক ইমোজির নাম, কোলন ছাড়া।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/emojis/sunflower"উত্তর OwnEmoji -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"name": "sunflower",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false,
"resting": false
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
PUT /v2/me/emojis/sharingতোমার ফলোয়াররা নিজেদের লেখায় তোমার ইমোজি ব্যবহার করতে পারবে কি না ঠিক করো।
প্যারামিটার নাম ধরন অর্থ sharedবডিতে booleanআবশ্যক true তোমার ইমোজি ফলোয়ারদের সঙ্গে শেয়ার করে, false করে না।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"shared":true}' \
"https://api.tellmelo.com/v2/me/emojis/sharing"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403429
GET /v2/me/webhooksতোমার ওয়েবহুক আর তাদের অবস্থা।
অধিকার webhooks ETag-সহ v2.19 থেকে webhooks অনুমতি লাগে। ওয়েবহুক আসে প্রতিষ্ঠানের প্ল্যানে বা অংশীদার হিসেবে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/webhooks"উত্তর Webhook -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
"url": "https://example.org/tellmelo-hook",
"kinds": [
"reply",
"mention"
],
"active": true,
"lastStatus": 200,
"lastAt": 1758624000000,
"failures": 0
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401403429
POST /v2/me/webhooksওয়েবহুক তৈরি করো। id আর স্বাক্ষরের গোপন কোড শুধু এবারই ফেরত দেয়।
অধিকার webhooks v2.19 থেকে প্রতিটি পাঠানো গোপন কোড দিয়ে স্বাক্ষরিত (X-Tellmelo-Signature)। এটি রেখে দাও; আর দেখানো হবে না।
প্যারামিটার নাম ধরন অর্থ urlবডিতে stringআবশ্যক স্থানীয় নেটওয়ার্কের বাইরের HTTPS ঠিকানা, লগইন তথ্য ছাড়া। kindsবডিতে string[]আবশ্যক ওয়েবহুক কোন বিষয়ে খবর পাবে। কোন ধরন তোমার জন্য খোলা, তা প্ল্যান আর অংশীদারত্বের উপর নির্ভর করে।replymentiongroup_mentionfollowlikerepostmessagequota_changedquota_giftdrop_claimeddrop_empty
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.org/tellmelo-hook","kinds":["reply","mention"]}' \
"https://api.tellmelo.com/v2/me/webhooks"উত্তর একটি WebhookCreated দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
"secret": "whsec_3f9a…"
}সম্ভাব্য স্ট্যাটাস: 200400401403429
DELETE /v2/me/webhooks/{id}ওয়েবহুক মুছে ফেলো।
অধিকার webhooks v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ওয়েবহুকের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/me/webhooks/{id}/testওয়েবহুকে একটি পরীক্ষা পাঠাও।
অধিকার webhooks v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক ওয়েবহুকের id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/webhooks/1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b/test"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
বিজ্ঞপ্তি তোমার অ্যাকাউন্ট ঘিরে কী ঘটেছে, পাতার পর পাতা।
GET /v2/notificationsতোমার বিজ্ঞপ্তি, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে পড়লে কিছুই পড়া হিসেবে চিহ্নিত হয় না; POST /notifications/read তা করে। একই পোস্টে একই ধরনের ঘটনা একটি সারি ভাগ করে; more বলে কতগুলো।
প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/notifications?limit=20"উত্তর Notification -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "3f2e1d0c-9b8a-4765-8432-10fedcba9876",
"kind": "like",
"text": null,
"actor": {
"handle": "jon",
"name": "Jon"
},
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"read": false,
"more": 2,
"createdAt": 1758624300000,
"updatedAt": 1758624900000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/notifications/readতোমার বিজ্ঞপ্তিগুলো পড়া হিসেবে চিহ্নিত করো।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/notifications/read"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200401403429
বার্তা তোমার ইনবক্স আর আলাপ। আলাপের নাম হয় অন্য অ্যাকাউন্টের নামে।
GET /v2/conversationsতোমার ইনবক্স: প্রতি আলাপে এক সারি, সবচেয়ে নতুন আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/conversations?limit=20"উত্তর Conversation -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"with": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"excerpt": "See you on Saturday at the market!",
"truncated": false,
"fromMe": true,
"lastMessageId": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
"unread": 0,
"updatedAt": 1758624060000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/conversations/{with}/messagesএকটি আলাপের বার্তা, নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.0 থেকে পড়লে কিছুই পড়া হিসেবে চিহ্নিত হয় না; POST /conversations/{with}/read তা করে।
প্যারামিটার নাম ধরন অর্থ withপাথে stringআবশ্যক অন্য অ্যাকাউন্টের id। আলাপের নিজস্ব id নেই। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages?limit=20"উত্তর Message -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
"text": "See you on Saturday at the market!",
"from": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"to": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"read": true,
"media": [],
"replyTo": null,
"createdAt": 1758624060000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
POST /v2/conversations/{with}/messagesএকটি আলাপে বার্তা পাঠাও।
অ্যাপের নিয়ম প্রযোজ্য: যে তোমাকে ব্লক করেছে তার কাছে পৌঁছানো যায় না, আর অন্যজনের সেটিংস গণ্য হয়।
বার্তায় ছবি, GIF ও ভিডিও API দিয়ে যোগ করা যায় না, শুধু অ্যাপে।
প্যারামিটার নাম ধরন অর্থ withপাথে stringআবশ্যক অন্য অ্যাকাউন্টের id। আলাপের নিজস্ব id নেই। textবডিতে stringআবশ্যক পোস্ট, উত্তর বা বার্তার লেখা। replyToবডিতে stringঐচ্ছিক এই আলাপের আগের একটি বার্তার id, যার উত্তর এটি। 2.2 থেকে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"See you on Saturday at the market!"}' \
"https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/conversations/{with}/readএকটি আলাপের সব বার্তা পড়া হিসেবে চিহ্নিত করো।
প্যারামিটার নাম ধরন অর্থ withপাথে stringআবশ্যক অন্য অ্যাকাউন্টের id। আলাপের নিজস্ব id নেই।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/read"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/conversations/{with}/messages/{id}তোমার একটি মেসেজ মুছে ফেলো।
শুধু নিজের মেসেজ, আর শুধু পাঠানোর ২৪ ঘণ্টার মধ্যে।
প্যারামিটার নাম ধরন অর্থ withপাথে stringআবশ্যক অন্য অ্যাকাউন্টের id। আলাপের নিজস্ব id নেই। idপাথে stringআবশ্যক মেসেজের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/messages/7c6b5a49-3827-4165-9f0e-d1c2b3a49586"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
POST /v2/conversations/{with}/plannedএকটি বার্তা পরে পাঠানোর জন্য নির্ধারণ করো। নির্ধারিত বার্তার id ফেরত দেয়।
নির্ধারিত বার্তাসহ প্ল্যান লাগে, নইলে 403। দুই দিকেই এন্ড-টু-এন্ড এনক্রিপশন থাকলে শুধু অ্যাপে কাজ করে।
প্যারামিটার নাম ধরন অর্থ withপাথে stringআবশ্যক অন্য অ্যাকাউন্টের id। আলাপের নিজস্ব id নেই। textবডিতে stringআবশ্যক পোস্ট, উত্তর বা বার্তার লেখা। sendAtবডিতে integerআবশ্যক বার্তা কখন পাঠানো হবে, ১৯৭০ থেকে মিলিসেকেন্ডে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"Happy birthday! 🎂","sendAt":1758700000000}' \
"https://api.tellmelo.com/v2/conversations/a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05/planned"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/me/planned-messagesতোমার যে বার্তাগুলো এখনও পাঠানো বাকি, সময় অনুযায়ী সাজানো।
অধিকার read ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ withকোয়েরিতে stringঐচ্ছিক শুধু এই অ্যাকাউন্টকে পাঠানো বার্তা (তার id)।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/planned-messages"উত্তর PlannedMessage -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
"to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"text": "Happy birthday! 🎂",
"sendAt": 1758710400000,
"state": "waiting"
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/me/planned-messages/{id}/sendআটকে রাখা বা ব্যর্থ নির্ধারিত বার্তা এখনই পাঠাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক নির্ধারিত বার্তার id।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/planned-messages/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9/send"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/me/planned-messages/{id}নির্ধারিত বার্তা পাঠানোর আগে মুছে ফেলো।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক নির্ধারিত বার্তার id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/planned-messages/3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
সম্পর্ক পছন্দ, সংরক্ষণ, রিপোস্ট, ফলো, যোগদান, ব্লক: একটিই পাথ, active দিয়ে স্থাপন ও অপসারণ। ২.১৯ থেকে তালিকাগুলোও: ফলোয়ার, যাদের ফলো করা হয়, আর তোমার নিজের ব্লক ও মিউট।
POST /v2/relationsপছন্দ, সংরক্ষণ, রিপোস্ট, ফলো, যোগদান, ব্লক, মিউট, kind অনুযায়ী।
like, save আর repost-এর জন্য target একটি পোস্ট, join-এর জন্য একটি গ্রুপ, follow, block আর mute-এর জন্য একটি অ্যাকাউন্ট। active: false সম্পর্ক সরিয়ে দেয়।
প্যারামিটার নাম ধরন অর্থ kindবডিতে stringআবশ্যক কোন সম্পর্ক: like, save, repost, follow, join, block বা mute (2.2 থেকে)।likesaverepostfollowjoinblockmute targetবডিতে stringআবশ্যক পোস্ট, প্রোফাইল বা গ্রুপের id, kind অনুযায়ী। activeবডিতে booleanঐচ্ছিক true সম্পর্ক স্থাপন করে, false সরিয়ে দেয়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"kind":"like","target":"5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1","active":true}' \
"https://api.tellmelo.com/v2/relations"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403429
GET /v2/profiles/{handle}/followersকে একটি প্রোফাইল ফলো করে, নতুনরা আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ handleপাথে stringআবশ্যক একটি প্রোফাইলের ছোট নাম; বড় বা ছোট হাতের অক্ষরে কিছু যায় আসে না। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/profiles/mara/followers?limit=20"উত্তর ProfileBrief -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/profiles/{handle}/followingএকটি প্রোফাইল কাকে ফলো করে, নতুনরা আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.19 থেকে প্যারামিটার নাম ধরন অর্থ handleপাথে stringআবশ্যক একটি প্রোফাইলের ছোট নাম; বড় বা ছোট হাতের অক্ষরে কিছু যায় আসে না। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/profiles/mara/following?limit=20"উত্তর ProfileBrief -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401404429
GET /v2/me/relationsতুমি কাকে ব্লক, মিউট বা শুধু বার্তার জন্য ব্লক করেছ, নতুনরা আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.19 থেকে শুধু তোমার নিজের তালিকা। স্থাপন ও অপসারণ POST /relations দিয়ে।
প্যারামিটার নাম ধরন অর্থ kindকোয়েরিতে stringআবশ্যক block ব্লক করা, mute মিউট করা, dm_block শুধু বার্তার জন্য ব্লক।blockmutedm_blocklimitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/relations?kind=mute&limit=20"উত্তর ProfileBrief -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304400401429
সংগ্রহ সংরক্ষিত পোস্ট নিজের সংগ্রহে সাজাও। একটি পোস্ট কয়েকটি সংগ্রহে থাকতে পারে; সংগ্রহ থেকে সরালেও সংরক্ষিত থাকে।
GET /v2/me/collectionsতোমার সংগ্রহ আর তাতে পোস্টের সংখ্যা।
অধিকার read ETag-সহ v2.19 থেকে অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/collections"উত্তর Collection -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
"name": "Recipes",
"count": 12
}
],
"next": null
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/me/collectionsসংগ্রহ তৈরি করো। তার id ফেরত দেয়।
কতটি সংগ্রহ তৈরি করতে পারবে তা প্ল্যানের উপর নির্ভর করে।
প্যারামিটার নাম ধরন অর্থ nameবডিতে stringআবশ্যক নাম, সর্বোচ্চ ৪০ অক্ষর। প্রতিটি অ্যাকাউন্টে অনন্য, বড়-ছোট হাতের অক্ষর আলাদা ধরা হয় না।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Recipes"}' \
"https://api.tellmelo.com/v2/me/collections"উত্তর একটি Made দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}সম্ভাব্য স্ট্যাটাস: 200400401403429
PUT /v2/me/collections/{id}সংগ্রহের নাম বদলাও।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক সংগ্রহের id। nameবডিতে stringআবশ্যক নাম, সর্বোচ্চ ৪০ অক্ষর। প্রতিটি অ্যাকাউন্টে অনন্য, বড়-ছোট হাতের অক্ষর আলাদা ধরা হয় না।
অনুরোধের উদাহরণ curl -X PUT \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"name":"Baking"}' \
"https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
DELETE /v2/me/collections/{id}সংগ্রহ মুছে ফেলো।
এর পোস্টগুলো সংরক্ষিত থাকে।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক সংগ্রহের id।
অনুরোধের উদাহরণ curl -X DELETE \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
GET /v2/me/collections/{id}/postsএকটি সংগ্রহের পোস্ট, সংরক্ষিত ট্যাবের মতো।
অধিকার read পাতায় ভাগযোগ্য v2.19 থেকে প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক সংগ্রহের id। limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718/posts?limit=20"উত্তর Post -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200400401404429
POST /v2/me/collections/{id}/postsপোস্ট সংগ্রহে রাখো বা সরাও।
পোস্ট রাখলে সেটি সংরক্ষিতও হয়। শুধু দৃশ্যমান পোস্ট।
প্যারামিটার নাম ধরন অর্থ idপাথে stringআবশ্যক সংগ্রহের id। postবডিতে stringআবশ্যক পোস্টের id। insideবডিতে booleanঐচ্ছিক true পোস্ট রাখে (ডিফল্ট), false সরায়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"post":"5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1","inside":true}' \
"https://api.tellmelo.com/v2/me/collections/6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718/posts"উত্তর একটি Ok দিয়ে উত্তর দেয়।
উদাহরণ {
"ok": true
}সম্ভাব্য স্ট্যাটাস: 200400401403404429
উপহার অংশীদারের কোটা দেখা ও সেখান থেকে উপহার দেওয়া, পোস্টের নিচে উপহার রাখা আর সেগুলোর খেয়াল রাখা। উপহার নেওয়া শুধু অ্যাপে মানুষের কাজ।
GET /v2/partner/quotaতোমার কোটায় দেওয়ার জন্য কতটা বাকি।
অধিকার read ETag-সহ v2.12 থেকে শুধু কোটাওয়ালা অংশীদারদের জন্য; বাকিরা 403 পায়।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/partner/quota"উত্তর একটি Quota দিয়ে উত্তর দেয়।
উদাহরণ {
"months": 120,
"sparks": 500,
"looks": [
{
"id": "frame-gold",
"name": "Goldring",
"kind": "frame",
"quantity": 25
}
]
}সম্ভাব্য স্ট্যাটাস: 200304401429
GET /v2/partner/giftsকোটা থেকে তুমি কী, কাকে আর কখন দিয়েছ – নতুনগুলো আগে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.12 থেকে শুধু কোটাওয়ালা অংশীদারদের জন্য; বাকিরা 403 পায়।
প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/partner/gifts?limit=20"উত্তর QuotaGift -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"item": "plan",
"quantity": 3,
"itemId": null,
"recipient": {
"handle": "jon",
"name": "Jon"
},
"createdAt": 1758627600000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/partner/giftsতোমার কোটা থেকে কোনো সদস্যকে প্ল্যানের মাস বা স্ফুলিঙ্গ দাও।
শুধু কোটাওয়ালা অংশীদারদের জন্য; বাকিরা 403 পায়।
অ্যাপের মতোই সদস্য দেখতে পায় উপহারটা কার কাছ থেকে। ঘণ্টায় সর্বোচ্চ ৬০টি উপহার।
প্যারামিটার নাম ধরন অর্থ handleবডিতে stringআবশ্যক যে সদস্যকে উপহার দিচ্ছ তার @নাম, @ সহ বা ছাড়া। itemবডিতে stringআবশ্যক প্ল্যানের মাসের জন্য plan, স্ফুলিঙ্গের জন্য sparks, তোমার মজুতের কোনো লুকের জন্য shop (2.13 থেকে)।plansparksshop quantityবডিতে integerঐচ্ছিক কতটা: প্রতি উপহারে সর্বোচ্চ ১২ মাস বা ৩৫টি স্ফুলিঙ্গ। itemIdবডিতে stringঐচ্ছিক shop-এর জন্য: লুকের ID, কোটায় looks যেভাবে এটি উল্লেখ করে। প্রতি উপহারে একটি পিস; তখন quantity প্রযোজ্য নয়।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"handle":"jon","item":"plan","quantity":3,"itemId":"frame-gold"}' \
"https://api.tellmelo.com/v2/partner/gifts"উত্তর একটি Quota দিয়ে উত্তর দেয়।
উদাহরণ {
"months": 120,
"sparks": 500,
"looks": [
{
"id": "frame-gold",
"name": "Goldring",
"kind": "frame",
"quantity": 25
}
]
}সম্ভাব্য স্ট্যাটাস: 200400401403429
GET /v2/gift-dropsপোস্টের নিচে তোমার উপহার: কতগুলো জায়গা এখনো খালি আর কীভাবে টাকা দেওয়া হয়েছে।
অধিকার read পাতায় ভাগযোগ্য ETag-সহ v2.12 থেকে প্যারামিটার নাম ধরন অর্থ limitকোয়েরিতে integerঐচ্ছিক প্রতি পাতায় এন্ট্রি: শুরুতে 20, সর্বোচ্চ 50। cursorকোয়েরিতে stringঐচ্ছিক আগের উত্তরের next। না থাকলে শুরু থেকে।
অনুরোধের উদাহরণ curl \
-H "Authorization: Bearer tm_key_…" \
"https://api.tellmelo.com/v2/gift-drops?limit=20"উত্তর OwnGiftDrop -এর একটি পাতা দিয়ে উত্তর দেয়, `items` আর `next` হিসেবে।
উদাহরণ {
"items": [
{
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": false,
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"funding": "quota",
"createdAt": 1758624000000
}
],
"next": "MTc1ODYyNDAwMDAwMDo1ZjBjMmE5ZS04ZDQx"
}সম্ভাব্য স্ট্যাটাস: 200304401429
POST /v2/gift-dropsঅন্যদের নেওয়ার জন্য উপহারসহ একটি পোস্ট প্রকাশ করো।
মালিক ও এই অনুমতিওয়ালা টিম সদস্যদের জন্য বিনামূল্যে, নইলে তোমার কোটা থেকে। যার জন্য টাকা দিতে হতো, তা 422 দিয়ে ফিরিয়ে দেওয়া হয় – টাকা দেওয়া শুধু অ্যাপে হয়।
উপহার শুধু অ্যাপে নেওয়া যায়, যাতে কোনো প্রোগ্রাম সব জায়গা দখল করতে না পারে। কতগুলো খালি আছে তা পোস্টের giftDrop-এ থাকে।
প্যারামিটার নাম ধরন অর্থ textবডিতে stringঐচ্ছিক পোস্ট, উত্তর বা বার্তার লেখা। communityবডিতে stringঐচ্ছিক যে গ্রুপের ফিড চ্যানেলে পোস্ট যাবে তার id; চ্যানেলটি চালু থাকতে হবে আর তোমার সেই অধিকার লাগবে। না দিলে পোস্ট কোনো গ্রুপে থাকে না। itemবডিতে stringআবশ্যক প্ল্যানের মাসের জন্য plan, স্ফুলিঙ্গের জন্য sparks।plansparks quantityবডিতে integerআবশ্যক প্রতিটি জায়গায় কী থাকবে: সর্বোচ্চ ১২ মাস বা ৩৫টি স্ফুলিঙ্গ। placesবডিতে integerআবশ্যক কতজনের জন্য, সর্বোচ্চ ১০,০০০। audienceবডিতে stringঐচ্ছিক কারা নিতে পারবে: all সবাই, followers শুধু তোমার ফলোয়ার, group শুধু গ্রুপের সদস্য (শুধু community-র সঙ্গে)।allfollowersgroup newAccountsবডিতে booleanঐচ্ছিক true দিলে ৭ দিনের কম পুরোনো অ্যাকাউন্টও নিতে পারে। না দিলে তারা বাদ থাকে।
অনুরোধের উদাহরণ curl -X POST \
-H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"text":"Ten times three months of Supporter – first come, first served! 🎁","item":"plan","quantity":3,"places":10,"audience":"all","newAccounts":false}' \
"https://api.tellmelo.com/v2/gift-drops"উত্তর একটি DropCreated দিয়ে উত্তর দেয়।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"funding": "quota"
}সম্ভাব্য স্ট্যাটাস: 200400401403429
অবজেক্ট সব অবজেক্ট, ফিল্ড ধরে ধরে। [] মানে তালিকা।
Serviceরুটের উত্তর: কে উত্তর দিচ্ছে, আর এই চাবি কী করতে পারে।
ফিল্ড ধরন অর্থ namestringসবসময় tellmelo। versionstringAPI-র সংস্করণ, যেমন 2.1। scopestringএই চাবি কী করতে পারে: read বা read write। rateLimitRateLimitএই চাবির বাজেট। docsstringএই ডকুমেন্টেশন কোথায়, এই সার্ভারে পাথ হিসেবে। specstringযন্ত্রে পাঠযোগ্য বিবরণ কোথায়।
উদাহরণ {
"name": "tellmelo",
"version": "2.20",
"scope": "read write",
"rateLimit": {
"limit": 120,
"remaining": 117
},
"docs": "/developers/docs",
"spec": "/api/v2/openapi.json"
}RateLimitবর্তমান মিনিটে এই চাবির বাজেট।
ফিল্ড ধরন অর্থ limitintegerপ্রতি মিনিটে অনুরোধ। remainingintegerএই মিনিটে কতগুলো বাকি।
উদাহরণ {
"limit": 120,
"remaining": 117
}Postএকটি পোস্ট, সব জায়গায় একই আকারে।
ফিল্ড ধরন অর্থ idstringপোস্টের id। textstringবা null লেখা যেমন লেখা হয়েছে (শুধু পোল বা শুধু ছবির পোস্টে null)। kindstringপোস্টটি কী।post — লেখা, ছবি বা উদ্ধৃতিসহ পোস্ট।poll — পোলসহ পোস্ট। authorProfileBriefকে লিখেছে। communityCommunityBriefবা null যে গ্রুপে লেখা (সব গ্রুপের বাইরে null)। mediaMedia[]এর ছবি, ক্রমানুসারে; না থাকলে খালি। pollPollবা null পোল (না থাকলে null)। quotesstringবা null এটি যে পোস্ট উদ্ধৃত করে তার id। continuesstringবা null এটি সংযোজন হিসেবে যে পোস্ট এগিয়ে নেয় তার id। countsCountsউত্তর, পছন্দ আর রিপোস্ট। pinnedbooleanলেখকের প্রোফাইলের ওপরে পিন করা কি না। giftDropGiftDropবা null পোস্টের নিচে নেওয়ার মতো উপহার (না থাকলে null)। createdAtintegerকখন লেখা হয়েছে।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}Replyএকটি পোস্টের নিচে উত্তর: আরও দুটি ফিল্ডসহ একটি পোস্ট।
Post -এর সব ফিল্ড, আর এর সঙ্গে:
ফিল্ড ধরন অর্থ postIdstringযে পোস্টে পুরো আলাপ ঝুলে আছে। parentIdstringবা null এটি যে উত্তরের উত্তর (সরাসরি পোস্টের উত্তর হলে null)।
উদাহরণ {
"id": "9e4b1c7d-2a3f-4d5e-8b6c-0f1e2d3c4b5a",
"text": "Same here, the lavender is full of them.",
"kind": "post",
"author": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"verified": false,
"accountKind": "person"
},
"community": null,
"media": [],
"poll": null,
"quotes": null,
"continues": null,
"counts": {
"replies": 0,
"likes": 3,
"reposts": 0
},
"pinned": false,
"giftDrop": null,
"createdAt": 1758624600000,
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"parentId": null
}ReplyVoteএকটি উত্তরে তোমার ভোট আর তার স্কোর।
ফিল্ড ধরন অর্থ votestringতোমার ভোট।up — উপরে।down — নিচে।none — কোনো ভোট নেই। scoreintegerউপরের ভোট বিয়োগ নিচের ভোট, শূন্যের নিচেও হতে পারে।
উদাহরণ {
"vote": "up",
"score": 12
}PlannedReplyপরে পাঠানোর জন্য নির্ধারিত তোমার একটি উত্তর।
ফিল্ড ধরন অর্থ idstringনির্ধারিত উত্তরের id। parentIdstringবা null যে উত্তরের জবাব দেবে (সরাসরি পোস্টে হলে null)। textstringলেখা। publishAtintegerকখন প্রকাশ হবে। statestringতার অবস্থা।waiting — নিজের সময়ের অপেক্ষায়।failed — পাঠানো যায়নি, যেমন পোস্টটি আর নেই।
উদাহরণ {
"id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
"parentId": null,
"text": "Count me in for Saturday!",
"publishAt": 1758710400000,
"state": "waiting"
}ReplySettingsতোমার একটি পোস্টের উত্তর সেটিং।
ফিল্ড ধরন অর্থ audiencestringকে উত্তর দিতে পারে।all — সবাই।following — যাদের তুমি ফলো করো।mentioned — পোস্টে উল্লেখ করা লোকেরা।nobody — তুমি ছাড়া কেউ না। approvalbooleanউত্তর তোমার অনুমোদনের অপেক্ষা করে কি না। slowstringধীর মোড।auto — অনেক উত্তর এলে নিজে চালু হয়।on — সবসময় চালু।off — বন্ধ।
উদাহরণ {
"audience": "following",
"approval": false,
"slow": "auto"
}Countsএকটি পোস্টে কতগুলো উত্তর, পছন্দ আর রিপোস্ট।
ফিল্ড ধরন অর্থ repliesintegerউত্তর, সব স্তর মিলিয়ে। likesintegerপছন্দ। repostsintegerরিপোস্ট।
উদাহরণ {
"replies": 4,
"likes": 31,
"reposts": 2
}Pollএকটি পোস্টের পোল।
ফিল্ড ধরন অর্থ optionsPollOption[]উত্তরগুলো, ক্রমানুসারে। ভোটে option 0 থেকে গোনা হয়। totalintegerসব ভোট মিলিয়ে, সবসময় থাকে। multiplebooleanএকাধিক উত্তর বেছে নেওয়া যায় কি না। endsAtintegerবা null পোল কখন শেষ হয় (শেষ ছাড়া চললে null)। runningbooleanএখনো ভোট দেওয়া যায় কি না। resultsVisiblebooleanপ্রতি উত্তরের ভোট দেখানো হয় কি না (votes দেখো)। myVotesinteger[]তোমার বাছাই করা উত্তর, 0 থেকে গুনে।
উদাহরণ {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
}PollOptionপোলের একটি উত্তর।
ফিল্ড ধরন অর্থ textstringউত্তর। votesintegerবা null এর ভোট (ফল আটকে থাকা পর্যন্ত null)।
উদাহরণ {
"text": "Lavender",
"votes": 12
}ProfileBriefঅন্য অবজেক্টের ভেতরে যেমন দেখায় তেমন প্রোফাইল: লেখক হিসেবে, খোঁজে।
ফিল্ড ধরন অর্থ idstringঅ্যাকাউন্টের id: যা /relations আর /conversations/{with} আশা করে। handlestringছোট নাম, @ ছাড়া, সদস্য যেভাবে বেছে নিয়েছে সেভাবে লেখা। namestringপ্রদর্শিত নাম। এতে ইমোজি থাকতে পারে, :name:-সহ। verifiedbooleanঅ্যাকাউন্টটি যাচাইকৃত কি না। accountKindstringঅ্যাকাউন্টের ধরন।person — একজন মানুষ।business — একটি ব্যবসা।association — একটি ক্লাব বা সমিতি।automated — একটি স্বয়ংক্রিয় অ্যাকাউন্ট, যেমন বট।bot — গ্রুপের বট, নিজস্ব কী-সহ একটি প্রোগ্রাম যেটি চালায় (2.18 থেকে)।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}Profileনিজস্ব একটি প্রোফাইল, বিবরণ আর ফলোয়ারসহ।
ProfileBrief -এর সব ফিল্ড, আর এর সঙ্গে:
ফিল্ড ধরন অর্থ aboutstringবা null বিবরণ (না থাকলে null)। websitestringবা null প্রোফাইলের ওয়েবসাইট (না থাকলে null)। 2.3 থেকে। websiteVerifiedbooleanওয়েবসাইটটি rel=me দিয়ে এই প্রোফাইলে ফিরতি লিংক দেয় কি না, প্রতি সপ্তাহে যাচাই হয়। 2.3 থেকে। followersintegerকতগুলো অ্যাকাউন্ট একে ফলো করে। createdAtintegerবা null অ্যাকাউন্ট কখন তৈরি (সদস্য যোগদানের তারিখ লুকিয়ে রাখলে null; 2.9 থেকে)।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person",
"about": "Beekeeper, allotment, too many seeds. :tellmelo:",
"website": "https://mara-imkerei.example/",
"websiteVerified": true,
"followers": 148,
"createdAt": 1750848000000
}Membershipগ্রুপে তোমার অ্যাকাউন্ট কী আর কী পারে।
ফিল্ড ধরন অর্থ leaderstringবা null তুমি গ্রুপটি তৈরি করেছ বা একসঙ্গে চালাও কি না; নইলে null।founder — প্রতিষ্ঠাতা।manager — সহ-নেতৃত্ব। rolesstring[]তোমার ভূমিকাগুলোর id, সবচেয়ে উঁচুটি আগে। permissionsstring[]গ্রুপে তুমি কী পারো। mutedUntilintegerবা null মিউট তোমাকে এখানে কতক্ষণ চুপ রাখে; না থাকলে null।
উদাহরণ {
"leader": null,
"roles": [
"4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
],
"permissions": [
"attach",
"invite",
"send",
"view"
],
"mutedUntil": null
}Personএকজন সদস্য, সংক্ষেপে।
ফিল্ড ধরন অর্থ idstringঅ্যাকাউন্টের id। handlestringব্যবহারকারীর নাম, @ ছাড়া। namestringদেখানো নাম। botbooleanঅ্যাকাউন্টটি বট কি না (2.18 থেকে)।
উদাহরণ {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
}Channelকোনো গ্রুপের চ্যানেল।
ফিল্ড ধরন অর্থ idstringid।kindstringচ্যানেলের ধরন।feed — ফিড চ্যানেল, যার পোস্ট পাবলিক ফিডেও থাকে।chat — একটি চ্যাট।voice — একটি ভয়েস চ্যানেল; কথা শুধু অ্যাপে।hub — গ্রুপের হাব: গ্রুপের পরিচয়ের পাতা। সবসময় থাকে, বার্তা ছাড়া। namestringবা null # ছাড়া নাম; null হলে অ্যাপ প্রতিটি ভাষায় যে নাম দেয়।topicstringবিষয়; না থাকলে খালি। categoryChannelCategoryবা null বিভাগ; না থাকলে null। unreadintegerঅন্যদের কতগুলো বার্তা তুমি এখনো পড়োনি, ১০০ পর্যন্ত। permissionsstring[]এই চ্যানেলে তুমি কী পারো। symbolChannelSymbolএর প্রতীক; গ্রুপ আকার ঠিক করলে সেটাই।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"kind": "chat",
"name": "harvest",
"topic": "What came in this week",
"category": {
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Garden",
"symbol": {
"emoji": null,
"icon": null,
"image": null,
"color": null,
"shape": null
}
},
"unread": 3,
"permissions": [
"view",
"send"
],
"symbol": {
"emoji": "🌻",
"icon": null,
"image": null,
"color": "amber",
"shape": "circle"
}
}ChannelCategoryযে বিভাগের নিচে চ্যানেলটি আছে।
ফিল্ড ধরন অর্থ idstringid।namestringনাম। symbolChannelSymbolএর প্রতীক।
উদাহরণ {
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Garden",
"symbol": {
"emoji": null,
"icon": null,
"image": null,
"color": null,
"shape": null
}
}ChannelSymbolচ্যানেল বা বিভাগের প্রতীক: ইমোজি, প্রতীক ও ছবির মধ্যে সর্বোচ্চ একটি, নইলে তার ধরনের চিহ্ন।
ফিল্ড ধরন অর্থ emojistringবা null ইমোজি; না থাকলে null। iconstringবা null অ্যাপ সেটের প্রতীকের নাম; না থাকলে null। imagestringবা null নিজের ছবির ঠিকানা; না থাকলে null। colorstringবা null টাইলের রং; তার ধরনের রঙের জন্য null। shapestringবা null টাইলের আকার; বৃত্তের জন্য null।
উদাহরণ {
"emoji": "🌻",
"icon": null,
"image": null,
"color": "amber",
"shape": "circle"
}ChannelMessageচ্যাট চ্যানেলের একটি বার্তা।
ফিল্ড ধরন অর্থ idstringid।textstringবা null লেখা (শুধু ছবি বা ভয়েসের বার্তায় null)। authorPersonকে লিখেছে। mediaMedia[]এর ছবি আর ভয়েস মেসেজ; না থাকলে খালি। replyTostringবা null যে বার্তার উত্তর দেয় তার id; না থাকলে null। roleColorstringবা null লেখকের সেই সর্বোচ্চ ভূমিকার রঙ যার রঙ আছে; না থাকলে null। threadOfstringবা null যে বার্তার থ্রেডে এটি উত্তর দেয়; চ্যাটে null। threadCountintegerএই বার্তার থ্রেডে কতগুলো উত্তর আছে। cardobjectবা null বটের কার্ড: title, text, color ও fields; নইলে null। buttonsobject[]বটের বোতাম: প্রতিটি id, label ও style। createdAtintegerকখন লেখা হয়েছে।
উদাহরণ {
"id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
"text": "@jon the first tomatoes are ripe 🍅",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"bot": false
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"replyTo": "72b3c4d5-e6f7-4081-92a3-b4c5d6e7f809",
"roleColor": "green",
"threadOf": null,
"threadCount": 3,
"card": null,
"buttons": [],
"createdAt": 1758631200000
}Roleকোনো গ্রুপের ভূমিকা।
ফিল্ড ধরন অর্থ idstringid।namestringবা null নাম; @everyone-এর জন্য null। everyonebooleanএটি @everyone কি না, সব সদস্যের ভূমিকা। colorstringবা null রং: indigo, violet, rose, amber, green বা teal; না থাকলে null। permissionsstring[]এর অধিকার। membersintegerকতজনের আছে; @everyone-এর ক্ষেত্রে সব সদস্য। editablebooleanতোমার অ্যাকাউন্ট এটি বদলাতে পারে কি না। selfablebooleanসদস্যরা ভূমিকাটি নিজেরা নেয় ও ছাড়ে কি না।
উদাহরণ {
"id": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
"name": "Gardeners",
"everyone": false,
"color": "green",
"permissions": [
"attach",
"invite",
"send",
"view"
],
"members": 24,
"editable": true,
"selfable": false
}GroupMemberগ্রুপের সদস্য, তার ভূমিকাসহ।
Person -এর সব ফিল্ড, আর এর সঙ্গে:
ফিল্ড ধরন অর্থ leaderstringবা null সদস্যটি গ্রুপ তৈরি করেছে বা একসঙ্গে চালায় কি না; নইলে null।founder — প্রতিষ্ঠাতা।manager — সহ-নেতৃত্ব। rolesstring[]তার ভূমিকাগুলোর id, সবচেয়ে উঁচুটি আগে। mutedUntilintegerবা null তোমার অ্যাকাউন্ট মিউট করতে পারলে সদস্য কতক্ষণ মিউট; নইলে null।
উদাহরণ {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false,
"leader": null,
"roles": [
"4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8"
],
"mutedUntil": null
}ChannelOverrideকোনো ভূমিকা কোনো চ্যানেলে গ্রুপ থেকে আলাদাভাবে কী পারে।
ফিল্ড ধরন অর্থ rolestringভূমিকার id। allowstring[]এটি এখানে বাড়তি কী পারে। denystring[]এটি এখানে কী পারে না।
উদাহরণ {
"role": "4e5f6a7b-8c9d-4e0f-a1b2-c3d4e5f6a7b8",
"allow": [
"send"
],
"deny": []
}Bellকোনো গ্রুপের ঘণ্টা।
ফিল্ড ধরন অর্থ levelstringকোন বিজ্ঞপ্তি আসে।all — ফিড চ্যানেলের প্রতিটি নতুন পোস্ট, সঙ্গে @everyone।important — ফিড চ্যানেলে নেতৃত্বের পোস্ট, সঙ্গে @everyone।off — কিছুই না, যদি না @নাম দিয়ে তোমাকে উল্লেখ করা হয়।
উদাহরণ {
"level": "important"
}InviteLinkকোনো গ্রুপের আমন্ত্রণ লিংক।
ফিল্ড ধরন অর্থ codestringকোড। urlstringশেয়ার করার ঠিকানা। createdByPersonবা null কে তৈরি করেছে; অ্যাকাউন্ট মুছে গেলে null। createdAtintegerকখন তৈরি হয়েছে। expiresAtintegerবা null কখন পর্যন্ত চলে; শেষ না থাকলে null। usesintegerকতবার ব্যবহার হয়েছে। maxUsesintegerবা null কতবার ব্যবহার করা যায়; সীমাহীন হলে null।
উদাহরণ {
"code": "k7Qm2xPa",
"url": "https://tellmelo.com/groups?join=k7Qm2xPa",
"createdBy": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"createdAt": 1758624000000,
"expiresAt": 1759228800000,
"uses": 3,
"maxUses": 10
}InvitePreviewআমন্ত্রণ লিংক কোথায় নিয়ে যায়।
ফিল্ড ধরন অর্থ communityInviteGroupগ্রুপ। memberbooleanতোমার অ্যাকাউন্ট আগে থেকেই সদস্য কি না।
উদাহরণ {
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening",
"members": 312,
"rules": [
"Be kind.",
"No advertising."
]
},
"member": false
}InviteGroupআমন্ত্রণ লিংকের পেছনের গ্রুপ।
ফিল্ড ধরন অর্থ idstringid।namestringনাম। membersintegerএর কতজন সদস্য। rulesstring[]এর নিয়ম, যোগ দেওয়ার সময় মেনে নিতে হয়; না থাকলে খালি।
উদাহরণ {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening",
"members": 312,
"rules": [
"Be kind.",
"No advertising."
]
}Joinedআমন্ত্রণ লিংক দিয়ে যোগ দেওয়া।
ফিল্ড ধরন অর্থ communitystringগ্রুপের id।
উদাহরণ {
"community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60"
}LogEntryনেতৃত্বের লগের একটি এন্ট্রি।
ফিল্ড ধরন অর্থ idstringid।actionstringকী ঘটেছে।post_removed — একটি পোস্ট।member_removed — 2.16-এর আগে সরানো সদস্য (90 দিন বাইরে)।message_removed — চ্যাট চ্যানেলের একটি বার্তা।member_kicked — বের করে দেওয়া।member_banned — নিষেধাজ্ঞা।member_unbanned — তোলা নিষেধাজ্ঞা।member_timed_out — মিউট।timeout_lifted — তোলা মিউট।voice_muted — ভয়েস চ্যানেলে মিউট করা হয়েছে।voice_removed — ভয়েস চ্যানেল থেকে বিচ্ছিন্ন করা হয়েছে।bot_added — গ্রুপে একটি বট যোগ হয়েছে (2.18 থেকে)।bot_removed — গ্রুপ থেকে একটি বট সরানো হয়েছে (2.18 থেকে)। memberPersonকাকে নিয়ে ছিল। reasonstringকারণ; বার্তার ক্ষেত্রে আর কারণ না দিলে খালি। bystringবা null যে করেছে তার নাম; অ্যাকাউন্ট মুছে গেলে null। createdAtintegerকখন।
উদাহরণ {
"id": "8f7e6d5c-4b3a-4291-8f7e-6d5c4b3a2918",
"action": "message_removed",
"member": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"reason": "",
"by": "Mara 🌻",
"createdAt": 1758710400000
}Banকোনো গ্রুপ থেকে নিষেধাজ্ঞা।
ফিল্ড ধরন অর্থ memberPersonকে নিষিদ্ধ। untilintegerবা null কতদিন; তোলা না পর্যন্ত null। createdAtintegerবা null কবে থেকে; 2.16-এর আগের নিষেধাজ্ঞায় null। bystringবা null যে নিষিদ্ধ করেছে তার নাম; অজানা হলে null।
উদাহরণ {
"member": {
"id": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"bot": false
},
"until": 1759228800000,
"createdAt": 1758624000000,
"by": "Mara 🌻"
}Untilমিউট বা নিষেধাজ্ঞা কখন শেষ হয়।
ফিল্ড ধরন অর্থ untilintegerবা null সময়; শেষ ছাড়া নিষেধাজ্ঞা বা তোলা মিউটের ক্ষেত্রে null।
উদাহরণ {
"until": 1758624600000
}Tagএকটি ট্যাগ আর কতগুলো পোস্টে তা আছে।
ফিল্ড ধরন অর্থ tagstringট্যাগ, # ছাড়া। postsintegerকতগুলো সাম্প্রতিক পোস্টে এটি আছে।
উদাহরণ {
"tag": "garden",
"posts": 58
}SearchResultতিনটি তালিকা, হয়তো খালি।
ফিল্ড ধরন অর্থ postsPost[]মিলে যাওয়া পোস্ট, নতুনগুলো আগে। profilesProfileBrief[]মিলে যাওয়া প্রোফাইল, ছোট নাম অনুযায়ী। tagsTag[]মিলে যাওয়া ট্যাগ, সবচেয়ে বেশি ব্যবহৃতগুলো আগে।
উদাহরণ {
"posts": [
{
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "The bees are back in the garden 🐝 #garden",
"kind": "poll",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
},
"community": {
"id": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"name": "Urban Gardening"
},
"media": [
{
"url": "/api/media?id=b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"kind": "image",
"poster": null,
"ai": "without"
}
],
"poll": {
"options": [
{
"text": "Lavender",
"votes": 12
},
{
"text": "Sunflowers",
"votes": 7
},
{
"text": "Clover",
"votes": 3
}
],
"total": 22,
"multiple": false,
"endsAt": null,
"running": true,
"resultsVisible": true,
"myVotes": [
0
]
},
"quotes": null,
"continues": null,
"counts": {
"replies": 4,
"likes": 31,
"reposts": 2
},
"pinned": false,
"giftDrop": {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
},
"createdAt": 1758624000000
}
],
"profiles": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"verified": true,
"accountKind": "person"
}
],
"tags": [
{
"tag": "garden",
"posts": 58
}
]
}Emojiএই সার্ভারের একটি ইমোজি।
ফিল্ড ধরন অর্থ namestringনাম, কোলনের মাঝে যেমন থাকে। urlstringছবির ঠিকানা, এই সার্ভারের সাপেক্ষে।
উদাহরণ {
"name": "tellmelo",
"url": "/api/media?id=e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"
}Notificationএকটি বিজ্ঞপ্তি। একটি সারি একই ধরনের কয়েকটি ঘটনা একত্র করতে পারে।
ফিল্ড ধরন অর্থ idstringবিজ্ঞপ্তির id। kindstringকী ঘটেছে।reply — কেউ তোমাকে উত্তর দিয়েছে।like — কেউ তোমার পোস্ট পছন্দ করেছে।reply_like — কেউ তোমার উত্তরে আপভোট দেয়।duel — কেউ তোমাকে ফিড ডুয়েলে চ্যালেঞ্জ করেছে, বা তোমার চ্যালেঞ্জ খেলা হয়েছে।reply_pick — কোনো পোস্টের লেখক তোমার উত্তর হাইলাইট করেন।repost — কেউ তোমার পোস্ট রিপোস্ট করেছে।follow — কেউ তোমাকে ফলো করে।mention — কেউ তোমাকে উল্লেখ করেছে।group_mention — কেউ তোমার পরিচালিত একটি গ্রুপ উল্লেখ করেছে; text তার নাম।channel_mention — কেউ তোমার কোনো গ্রুপের চ্যাট চ্যানেলে তোমাকে উল্লেখ করেছে, @everyone সহ; সদস্যটি actor, বাক্যে চ্যানেল ও গ্রুপের নাম থাকে, বার্তা কখনো নয়।message — কেউ তোমাকে বার্তা লিখেছে।scheduled — তোমার একটি নির্ধারিত পোস্ট প্রকাশিত হয়েছে।video — তোমার একটি পোস্ট, যা তার ভিডিওর অপেক্ষায় ছিল, প্রকাশিত হয়েছে বা আবার খসড়া হয়েছে।reminder — সংরক্ষিত পোস্টের একটি রিমাইন্ডারের সময় হয়েছে।report — তোমার পাঠানো রিপোর্টের কী হলো।moderation — তোমার অ্যাকাউন্ট নিয়ে একটি সিদ্ধান্ত: সতর্কবার্তা, সীমাবদ্ধতা, আপত্তি।team — টিমের জন্য নতুন কাজ (শুধু মালিক, অ্যাডমিন ও মডারেটর)।reward — আমন্ত্রণের পুরস্কার শেষ হতে চলেছে বা শেষ হয়েছে।gift — টিমের পক্ষ থেকে উপহার: একটি প্ল্যান, বা তোমার জন্য বা তোমার পরিচালিত গ্রুপের জন্য স্ফুলিঙ্গ।present — কোনো সদস্যের উপহার: স্ফুলিঙ্গ বা প্ল্যানের সময়; সদস্যটি হলো actor।spark — স্ফুলিঙ্গের মেয়াদ শিগগির ফুরাবে, বা তোমার চালানো কোনো গ্রুপের সুবিধার জন্য স্ফুলিঙ্গ আর যথেষ্ট নেই।loyalty — আনুগত্যের ছন্দ নিয়ে: সক্রিয় সপ্তাহ গণ্য হয়েছে বা এক দিন কম, পুরস্কার নতুন বা মুছে যেতে চলেছে।impact — বারো ঘণ্টার তোমার পোস্টগুলো এক দিন পর কেমন গেল, একটি নোটিফিকেশনে।discovery — “আবিষ্কৃত” প্রোগ্রামের আমন্ত্রণ, বা সেখানে একটি জায়গা শুরু বা শেষ হওয়ার খবর।group_post — এমন গ্রুপে নতুন পোস্ট যার ঘণ্টা এর জন্য বাজে।group_moderation — কোনো গ্রুপের নেতৃত্ব তোমার একটি পোস্ট বা তোমাকে গ্রুপ থেকে সরিয়েছে।group — কোনো সদস্য কোনো গ্রুপে তোমার সঙ্গে যা করেছেন: আমন্ত্রণ, গ্রহণ বা প্রত্যাখ্যান, সহ-প্রশাসক করা, গ্রুপ হস্তান্তর বা বিলুপ্ত করা, অথবা তোমার গ্রুপে আবেদন; সদস্যটি হলো actor, গ্রুপের নাম বাক্যের শেষে থাকে।coauthor — কেউ তোমাকে একটি পোস্টের সহ-লেখক হতে আমন্ত্রণ জানিয়েছে।partner — অংশীদার প্রোগ্রাম থেকে মনে করিয়ে দেওয়া, বা অংশীদার ব্যাজের শেষ।news — তুমি ফলো করো এমন এলাকায় নতুন লেখা।pick — তোমার কোনো পোস্ট সপ্তাহের বা বছরের পোস্টের জন্য মনোনীত, বা জিতেছে।advent — আগমনকালের ক্যালেন্ডারের নতুন দরজা খুলেছে, একটা দরজা খোলা হয়েছে বা আজকেরটা এখনও অপেক্ষায়।team_message — tellmelo টিম বাছাই করা সদস্যদের যে বার্তা লিখেছে।challenge — সপ্তাহের নতুন চ্যালেঞ্জ শুরু হয়েছে।nudge — একবারই: এমন একটি পোস্ট যার এখনও কেউ উত্তর দেয়নি, বা চলমান চ্যালেঞ্জ।signin — কোনো কম্পিউটার জিজ্ঞেস করছে তুমি এখন সেখানে সাইন ইন করছ কি না। textstringবা null শুধু রিপোর্ট আর মডারেশনের জন্য: সংশ্লিষ্ট লেখা, নইলে null। actorActorকে করেছে। postIdstringবা null যে পোস্ট নিয়ে (কোনোটি নিয়ে না হলে null)। readbooleanপড়া হিসেবে চিহ্নিত কি না। moreintegerউল্লিখিতটি ছাড়া এই সারি আর কতগুলো ঘটনার প্রতিনিধিত্ব করে। createdAtintegerপ্রথম কখন ঘটেছে। updatedAtintegerশেষবার কখন আরেকটি ঘটনা যুক্ত হয়েছে। তালিকা এটি অনুযায়ী সাজানো।
উদাহরণ {
"id": "3f2e1d0c-9b8a-4765-8432-10fedcba9876",
"kind": "like",
"text": null,
"actor": {
"handle": "jon",
"name": "Jon"
},
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"read": false,
"more": 2,
"createdAt": 1758624300000,
"updatedAt": 1758624900000
}Actorকে বিজ্ঞপ্তিটি ঘটিয়েছে।
ফিল্ড ধরন অর্থ handlestringছোট নাম। namestringপ্রদর্শিত নাম।
উদাহরণ {
"handle": "jon",
"name": "Jon"
}Conversationতোমার ইনবক্সের একটি সারি।
ফিল্ড ধরন অর্থ withstringঅন্য অ্যাকাউন্টের id: যা /conversations/{with}/messages আশা করে। handlestringতাঁর ছোট নাম। namestringতাঁর প্রদর্শিত নাম। excerptstringবা null শেষ বার্তার শুরু (লেখা না থাকলে null)। truncatedbooleanঅংশটি কেটে ছোট করা হয়েছে কি না। fromMebooleanশেষ বার্তাটি তোমার কি না। lastMessageIdstringশেষ বার্তার id। unreadintegerতাঁর কতগুলো বার্তা তুমি এখনো পড়োনি। updatedAtintegerশেষ বার্তা কখন লেখা হয়েছে।
উদাহরণ {
"with": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"handle": "jon",
"name": "Jon",
"excerpt": "See you on Saturday at the market!",
"truncated": false,
"fromMe": true,
"lastMessageId": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
"unread": 0,
"updatedAt": 1758624060000
}Messageএকটি আলাপের একটি বার্তা।
ফিল্ড ধরন অর্থ idstringবার্তার id। textstringবা null লেখা (শুধু ছবির বার্তায় null)। fromstringযে অ্যাকাউন্ট লিখেছে তার id। tostringযে অ্যাকাউন্টকে লেখা হয়েছে তার id। readbooleanপ্রাপক পড়েছেন কি না। mediaMedia[]এর ছবি; না থাকলে খালি। replyTostringবা null এটি যে বার্তার উত্তর তার id (কোনোটির উত্তর না হলে null)। 2.2 থেকে। createdAtintegerকখন পাঠানো হয়েছে।
উদাহরণ {
"id": "7c6b5a49-3827-4165-9f0e-d1c2b3a49586",
"text": "See you on Saturday at the market!",
"from": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"to": "d4c3b2a1-6e5f-4a7b-9c8d-1e2f3a4b5c6d",
"read": true,
"media": [],
"replyTo": null,
"createdAt": 1758624060000
}PlannedMessageপরে পাঠানোর জন্য নির্ধারিত তোমার একটি বার্তা।
ফিল্ড ধরন অর্থ idstringনির্ধারিত বার্তার id। tostringপ্রাপক অ্যাকাউন্টের id। textstringবা null লেখা, এন্ড-টু-এন্ড এনক্রিপশনে null। sendAtintegerকখন পাঠানো হবে। statestringতার অবস্থা।waiting — নিজের সময়ের অপেক্ষায়।held — প্ল্যান শেষ হওয়ায় আটকে রাখা। তুমি নিজে পাঠাতে বা মুছতে পারো।failed — পাঠানো যায়নি।
উদাহরণ {
"id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
"to": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"text": "Happy birthday! 🎂",
"sendAt": 1758710400000,
"state": "waiting"
}ScheduledPostতোমার একটি পোস্ট যা এখনো আসেনি।
ফিল্ড ধরন অর্থ idstringপোস্টের id। textstringবা null লেখা। communityIdstringবা null যে গ্রুপে আসবে (গ্রুপের বাইরে null)। publishAtintegerবা null কখন আসবে (অন্য কিছুর অপেক্ষায় থাকলে null)। deleteAtintegerবা null নিজে থেকে কখন মুছবে (null: কখনো না)। waitingForstringকীসের অপেক্ষায়।time — নিজের সময়ের।review — পর্যালোচনার জন্য লেখা লেখার অনুমোদনের।check — স্বয়ংক্রিয় মডারেশনের যাচাইয়ের।payment — নিজের উপহারের পেমেন্টের। createdAtintegerকখন লেখা হয়েছে।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"text": "Market day tomorrow – see you at the bee stand! #garden",
"communityId": null,
"publishAt": 1758710400000,
"deleteAt": null,
"waitingFor": "time",
"createdAt": 1758624000000
}Collectionসংরক্ষিত পোস্টের একটি সংগ্রহ।
ফিল্ড ধরন অর্থ idstringসংগ্রহের id। namestringতার নাম। countintegerতাতে কতটি পোস্ট আছে।
উদাহরণ {
"id": "6d5c4b3a-2918-4e7f-a1b2-c3d4e5f60718",
"name": "Recipes",
"count": 12
}Eventএকটি প্রোফাইলের আসন্ন ইভেন্ট।
ফিল্ড ধরন অর্থ idstringইভেন্টের id। titlestringশিরোনাম। startsAtintegerশুরু। endsAtintegerবা null শেষ, শেষ না থাকলে null। placestringবা null স্থান। descriptionstringবা null বিবরণ। signupsEventSignupsবা null নাম লেখানো, না থাকলে null।
উদাহরণ {
"id": "2a3b4c5d-6e7f-4809-9a1b-2c3d4e5f6a7b",
"title": "Seed swap",
"startsAt": 1758883200000,
"endsAt": 1758890400000,
"place": "Community garden",
"description": "Bring seeds, take seeds.",
"signups": {
"count": 14,
"going": true
}
}EventSignupsকতজন নাম লিখিয়েছে।
ফিল্ড ধরন অর্থ countintegerনাম লেখানোর সংখ্যা। goingbooleanতুমি নাম লিখিয়েছ কি না।
উদাহরণ {
"count": 14,
"going": true
}EventSignupতোমার কোনো ইভেন্টে নাম লেখানো কেউ।
ফিল্ড ধরন অর্থ idstringঅ্যাকাউন্টের id। handlestringইউজারনেম। namestringপ্রদর্শিত নাম। atintegerকখন নাম লিখিয়েছে।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"at": 1758624000000
}Pictureআপলোড করা একটি ছবি।
ফিল্ড ধরন অর্থ idstringছবির id। urlstringকোথায় দেখা যায়।
উদাহরণ {
"id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9"
}EmojiPictureএকটি ইমোজির আপলোড করা ছবি।
ফিল্ড ধরন অর্থ idstringছবির id। urlstringকোথায় দেখা যায়। animatedbooleanচলমান কি না।
উদাহরণ {
"id": "8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}OwnEmojiতোমার নিজের একটি ইমোজি।
ফিল্ড ধরন অর্থ namestringতার নাম। urlstringতার ছবি। animatedbooleanচলমান কি না। restingbooleanবিশ্রামে, কারণ প্ল্যান এখন কম ইমোজি দেয়: থাকে, কিন্তু ব্যবহার করা যায় না।
উদাহরণ {
"name": "sunflower",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false,
"resting": false
}GroupEmojiএকটি গ্রুপের ইমোজি।
ফিল্ড ধরন অর্থ namestringতার নাম। urlstringতার ছবি। animatedbooleanচলমান কি না।
উদাহরণ {
"name": "seedling",
"url": "/api/media?id=8c7b6a59-4837-4261-9f5e-d4c3b2a1f0e9",
"animated": false
}BotEventবটের একটি গ্রুপের একটি ঘটনা।
ফিল্ড ধরন অর্থ idstringএর নম্বর, ঊর্ধ্বক্রমে; এটি দিয়েই এগোনো যায় (since, Last-Event-ID)। typestringকী ঘটেছে।message.created — একটি বার্তা লেখা হয়েছে।message.deleted — একটি বার্তা মুছে ফেলা হয়েছে।member.joined — কেউ যোগ দিয়েছে।member.left — কেউ চলে গেছে বা সরানো হয়েছে।voice.joined — কেউ একটি ভয়েস চ্যানেলে এসেছে।command — কেউ বটের একটি কমান্ড ব্যবহার করেছে।interaction — কেউ বটের বার্তায় একটি বোতাম চেপেছে। communitystringগ্রুপ। channelstringবা null চ্যানেল; পুরো গ্রুপের জন্য null। createdAtintegerকখন ঘটেছে। dataobjectধরন অনুযায়ী সংশ্লিষ্ট তথ্য: message, member (reason-সহ), command বা interaction।
উদাহরণ {
"id": "4711",
"type": "message.created",
"community": "c81d4e2a-0f3b-4a6c-9e57-1d2b3c4a5f60",
"channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"createdAt": 1758634800000,
"data": {
"message": {
"id": "61a2b3c4-d5e6-4f70-8192-a3b4c5d6e7f8",
"text": "/dice 6",
"author": {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"bot": false
},
"media": 0,
"replyTo": null,
"threadOf": null,
"createdAt": 1758634800000
}
}
}BotCommandএকটি বটের কমান্ড।
ফিল্ড ধরন অর্থ namestringএর নাম, “/” ছাড়া। descriptionstringএটি কী করে।
উদাহরণ {
"name": "dice",
"description": "Rolls a die"
}VoiceSeatভয়েস চ্যানেলে একটি জায়গা।
ফিল্ড ধরন অর্থ urlstringমিডিয়া সার্ভারের ঠিকানা (LiveKit)। tokenstringএই চ্যানেলের টোকেন, কয়েক মিনিট বৈধ। iceServersobject[]সংযোগের জন্য STUN ও TURN সার্ভার। speakbooleanবট সেখানে শব্দ পাঠাতে পারে কি না। videobooleanবট সেখানে ভিডিও পাঠাতে পারে কি না।
উদাহরণ {
"url": "wss://voice.example.org",
"token": "eyJhbGciOiJIUzI1NiJ9…",
"iceServers": [
{
"urls": [
"stun:turn.example.org:3478"
]
}
],
"speak": true,
"video": false
}Webhookতোমার একটি ওয়েবহুক।
ফিল্ড ধরন অর্থ idstringওয়েবহুকের id। urlstringতার ঠিকানা। kindsstring[]কোন বিষয়ে খবর পায়। activebooleanপাঠানো পায় কি না। পরপর অনেকবার ব্যর্থ হলে বন্ধ হয়ে যায়। lastStatusintegerবা null শেষ পাঠানোর HTTP স্ট্যাটাস। lastAtintegerবা null শেষ কবে পাঠানো হয়েছে। failuresintegerপরপর ব্যর্থতা।
উদাহরণ {
"id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
"url": "https://example.org/tellmelo-hook",
"kinds": [
"reply",
"mention"
],
"active": true,
"lastStatus": 200,
"lastAt": 1758624000000,
"failures": 0
}WebhookCreatedগোপন কোডসহ একটি নতুন ওয়েবহুক।
ফিল্ড ধরন অর্থ idstringওয়েবহুকের id। secretstringস্বাক্ষরের গোপন কোড, শুধু এবারই।
উদাহরণ {
"id": "1f2e3d4c-5b6a-4798-8a7b-6c5d4e3f2a1b",
"secret": "whsec_3f9a…"
}GroupBotএকটি গ্রুপের বট।
ফিল্ড ধরন অর্থ idstringবট অ্যাকাউন্টের id। handlestringতার ছোট নাম। namestringতার নাম। descriptionstringসে কী করে, মালিকের ভাষায়। permissionsstring[]গ্রুপে তার ভূমিকা যা করতে দেয়।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "gardenbot",
"name": "Garden bot",
"description": "Reminds the group of watering days.",
"permissions": [
"send",
"view"
]
}VoiceRoomএকটি ভয়েস চ্যানেল আর তাতে থাকা মানুষ।
ফিল্ড ধরন অর্থ channelstringচ্যানেলের id। peopleVoicePerson[]এখন কে আছে।
উদাহরণ {
"channel": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a",
"people": [
{
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"muted": false,
"deaf": false,
"camera": false,
"screen": true
}
]
}VoicePersonভয়েস চ্যানেলে কেউ।
ফিল্ড ধরন অর্থ idstringঅ্যাকাউন্টের id। handlestringছোট নাম। namestringপ্রদর্শিত নাম। mutedbooleanমাইক বন্ধ কি না। deafbooleanকিছুই শুনছে না কি না (নিজের পছন্দে)। camerabooleanক্যামেরা চালু কি না। screenbooleanস্ক্রিন শেয়ার করছে কি না।
উদাহরণ {
"id": "a3e1f7c2-54b9-4d0e-8f16-7b2c9d4e1a05",
"handle": "mara",
"name": "Mara 🌻",
"muted": true,
"deaf": false,
"camera": false,
"screen": false
}GiftDropপোস্টের নিচের উপহার – যারা নিয়েছে তাদের নাম কখনো নয়।
ফিল্ড ধরন অর্থ itemstringএকটি জায়গায় কী আছে।plan — প্ল্যানের মাস (সমর্থক)।sparks — স্ফুলিঙ্গ। quantityintegerপ্রতিটি জায়গায় কতটা: মাস বা স্ফুলিঙ্গ। placesintegerমোট কতগুলো জায়গা। leftintegerকতগুলো এখনো খালি। audiencestringকারা নিতে পারবে।all — সবাই।followers — শুধু উপহারদাতার ফলোয়ার।group — শুধু পোস্টের গ্রুপের সদস্য। newAccountsboolean৭ দিনের কম পুরোনো অ্যাকাউন্টও নিতে পারবে কি না। statusstringঅবস্থা।awaiting_payment — পেমেন্টের অপেক্ষায়; পোস্ট এখনো আসেনি।open — এখনো জায়গা বাকি আছে।closed — শেষ: সব নেওয়া হয়েছে, টাকা ফেরত দেওয়া হয়েছে বা পোস্ট মুছে ফেলা হয়েছে। claimedbooleanতোমার নিজের জায়গা আছে কি না (পাবলিক পথে সবসময় false)।
উদাহরণ {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": true
}OwnGiftDropপোস্টের নিচে তোমার উপহার, পোস্ট ও পেমেন্টসহ।
GiftDrop -এর সব ফিল্ড, আর এর সঙ্গে:
ফিল্ড ধরন অর্থ postIdstringযে পোস্টের নিচে আছে। fundingstringকীভাবে টাকা দেওয়া হয়েছে।free — বিনামূল্যে।quota — কোটা থেকে।payment — টাকা দেওয়া। createdAtintegerকখন তৈরি হয়েছে।
উদাহরণ {
"item": "plan",
"quantity": 3,
"places": 10,
"left": 4,
"audience": "followers",
"newAccounts": false,
"status": "open",
"claimed": false,
"postId": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"funding": "quota",
"createdAt": 1758624000000
}Quotaকোটায় কী আছে।
ফিল্ড ধরন অর্থ monthsintegerএখনো দেওয়ার মতো প্ল্যানের মাস। sparksintegerএখনো দেওয়ার মতো স্ফুলিঙ্গ। looksQuotaLook[]মজুতে এখনো দেওয়ার মতো লুক (2.13 থেকে)।
উদাহরণ {
"months": 120,
"sparks": 500,
"looks": [
{
"id": "frame-gold",
"name": "Goldring",
"kind": "frame",
"quantity": 25
}
]
}QuotaLookকোনো অংশীদারের মজুতে থাকা একটি লুক, বাকি পিসসহ (2.13 থেকে)।
ফিল্ড ধরন অর্থ idstringলুকের ID; উপহার দেওয়ার সময় এটি itemId হিসেবে পাঠাও। namestringলুকের নাম। kindstringলুকের ধরন।frame — প্রোফাইল ফ্রেম।background — কভার ইফেক্ট।card — প্রোফাইল কার্ড। quantityintegerকতগুলো পিস বাকি।
উদাহরণ {
"id": "frame-gold",
"name": "Goldring",
"kind": "frame",
"quantity": 25
}QuotaGiftকোটা থেকে দেওয়া একটি উপহার।
ফিল্ড ধরন অর্থ itemstringকী দেওয়া হয়েছে।plan — প্ল্যানের মাস (সমর্থক)।sparks — স্ফুলিঙ্গ।shop — মজুত থেকে একটি লুক (2.13 থেকে)। quantityintegerকতটা। itemIdstringবা null item যখন shop, তখন দেওয়া লুকটি; না হলে null।recipientActorকাকে। createdAtintegerকখন।
উদাহরণ {
"item": "plan",
"quantity": 3,
"itemId": null,
"recipient": {
"handle": "jon",
"name": "Jon"
},
"createdAt": 1758627600000
}Embedঅন্য ওয়েবসাইটের জন্য ঠিকানা। এগুলো কী ছাড়াই কাজ করে।
ফিল্ড ধরন অর্থ pagestringএকটি <iframe>-এর জন্য প্লেয়ার। filestringনিজের প্লেয়ারের জন্য MP4 ফাইল। posterstringপ্রিভিউ ছবি। codestringএম্বেড করার তৈরি কোড।
উদাহরণ {
"page": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918",
"file": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/file",
"poster": "https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918/poster",
"code": "<iframe src=\"https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918\" width=\"480\" height=\"300\" title=\"Happy bees\" style=\"border:0;max-width:100%\" loading=\"lazy\" allowfullscreen></iframe>"
}UploadStartedশুরু হওয়া একটি আপলোড।
ফিল্ড ধরন অর্থ uploadstringএই আপলোডের ID। pieceintegerএকটি টুকরো সর্বোচ্চ কত বড় হতে পারে, বাইটে।
উদাহরণ {
"upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b",
"piece": 4194304
}UploadPieceপৌঁছানো একটি টুকরো।
ফিল্ড ধরন অর্থ receivedintegerকত বাইট পৌঁছেছে। itemMediaItemবা null শেষ টুকরোর পর নতুন GIF বা ভিডিও, নইলে null।
উদাহরণ {
"received": 4194304,
"item": null
}Createdএমন লেখার অনুরোধের উত্তর যা কিছু তৈরি করেছে।
ফিল্ড ধরন অর্থ idstringযা তৈরি হয়েছে তার id। scheduledForintegerবা null কখন আসবে, যদি প্রকাশ নির্ধারিত হয়ে থাকে (নইলে null)। deleteAtintegerবা null কখন নিজে মুছে যাবে, যদি তা ঠিক করা থাকে (নইলে null)।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"scheduledFor": null,
"deleteAt": null
}DropCreatedউপহারসহ পোস্ট তৈরি হলে যে উত্তর আসে।
ফিল্ড ধরন অর্থ idstringনতুন পোস্টের id। fundingstringউপহারের টাকা কীভাবে দেওয়া হয়েছে।free — বিনামূল্যে।quota — কোটা থেকে।
উদাহরণ {
"id": "5f0c2a9e-8d41-4b7a-9c3e-2e61d0f4a7b1",
"funding": "quota"
}Madeএইমাত্র যা তৈরি বা বদলানো হলো।
ফিল্ড ধরন অর্থ idstringid; আমন্ত্রণ লিংকের ক্ষেত্রে তার কোড।
উদাহরণ {
"id": "0d9c8b7a-6f5e-4d3c-2b1a-0f9e8d7c6b5a"
}Okএমন লেখার অনুরোধের উত্তর যার ফেরত দেওয়ার কিছু নেই।
ফিল্ড ধরন অর্থ okbooleanসবসময় true।
উদাহরণ {
"ok": true
}যন্ত্রে পাঠযোগ্য বিবরণ এই পাতার পেছনের সারণিটি OpenAPI হিসেবে https://api.tellmelo.com/v2/openapi.json-এ পাওয়া যায়।
https://api.tellmelo.com/v2/openapi.jsonঅন্য ওয়েবসাইটে GIF ও ভিডিও কোনো সদস্য যা শেয়ার করে এবং অন্য ওয়েবসাইটেও অনুমতি দেয়, তা যেকোনো ওয়েবসাইট দেখাতে পারে: anywhere=true দিয়ে খুঁজলে এটি পাওয়া যায়, আর এর embed-এ ঠিকানাগুলো থাকে। সদস্য এটি ফিরিয়ে নিলে কয়েক মিনিটের মধ্যে সেখান থেকে সরে যায়।
টুকরো টুকরো করে আপলোড প্রথমে শুরু করো, তারপর ফাইলটি টুকরো করে পাঠাও। বড় ফাইলকে piece বাইটের টুকরোয় ভাগ করো, প্রতিটির জায়গায় offset দিয়ে। শেষ টুকরোর পর তৈরি GIF বা ভিডিও আসে।
curl -X POST -H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/json" \
-d '{"kind":"gif","size":2400000,"name":"Happy bees","shared":true,"anywhere":true}' \
"https://api.tellmelo.com/v2/media/uploads"
→ { "upload": "e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b", "piece": 4194304 }
curl -X PUT -H "Authorization: Bearer tm_key_…" \
-H "Content-Type: application/octet-stream" \
--data-binary @bees.gif \
"https://api.tellmelo.com/v2/media/uploads/e7c1a2b3-4d5e-4f60-8a9b-0c1d2e3f4a5b?offset=0"
→ { "received": 2400000, "item": { "id": "…", "embed": { … } } }এম্বেড করা প্লেয়ার GIF লুপে বা ভিডিও কন্ট্রোলসহ দেখায়, নিচে নাম আর কে শেয়ার করেছে। embed.code থেকে কোডটি পেজে বসাও:
<iframe src="https://tellmelo.com/media-embed/b2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918" width="480" height="300" title="Happy bees" style="border:0;max-width:100%" loading="lazy" allowfullscreen></iframe>যেসব ফোরাম ও প্রোগ্রাম oEmbed চেনে, প্লেয়ারের ঠিকানা দিলে তারা নিজেরাই কোড নিয়ে নেয়:
https://tellmelo.com/api/oembed?url=https%3A%2F%2Ftellmelo.com%2Fmedia-embed%2Fb2d7e9f1-3c4a-4e8b-a1f0-6d5c4b3a2918কী থাকবে তোমার সার্ভারে, কখনো কোনো ওয়েবপেজের কোডে নয়। তোমার সার্ভারের মাধ্যমে খোঁজো ও আপলোড করো; embed-এর ঠিকানাগুলোর কী লাগে না।
তোমার ওয়েবসাইটের জন্য GIF পিকার একটি সাইট চাবি দিয়ে (ডেভেলপার অংশ → তোমার ওয়েবসাইটের জন্য GIF পিকার ) তোমার ওয়েবসাইট পায় একটি তৈরি খোঁজ: পেজে দুটি লাইন, আর বোতামে একটি ক্লিকেই সেটি খোলে। চাবিটি সর্বজনীন এবং শুধু সেই ঠিকানাগুলোতেই কাজ করে, যা তুমি এর জন্য লেখো। পিকার শুধু সেটুকুই দেখায়, যা সদস্যরা অন্য ওয়েবসাইটের জন্য অনুমতি দিয়েছে।
<script src="https://tellmelo.com/picker.js" data-key="tmsk_…" defer></script>
<button type="button" data-tellmelo-picker>GIF</button>কিছু বাছাই করলে বোতামটি আইটেমসহ tellmelo:pick পাঠায়: এমবেড করার জন্য code, file, poster, name ও author। data-target="#field" দিলে এটি code সরাসরি একটি টেক্সট ফিল্ডে বসিয়ে দেয়, data-kind="video" দিলে ভিডিও খোঁজে। ফাইলটি নিজে এমবেড করলে, যিনি এটি শেয়ার করেছেন তাঁর নাম দেখাও।
document.addEventListener('tellmelo:pick', (event) => {
const { code, file, name, author } = event.detail;
});tellmelo দিয়ে সাইন ইন অন্য সাইটগুলো সদস্যদের OpenID Connect দিয়ে তাদের tellmelo অ্যাকাউন্টে সাইন ইন করতে দেয় (PKCE সহ অনুমোদন কোড)। সাইট শুধু ইউজারনেম, নিশ্চিত করা ইমেল ঠিকানা আর প্রতি সদস্যের জন্য নিজস্ব একটি পরিচয় (sub) পায়।
অ্যাপের আবেদন তুমি “ডেভেলপার অংশ → tellmelo দিয়ে সাইন ইন”-এ করো। দল প্রতিটি অ্যাপ যাচাই করে; এরপর সেখানে ক্লায়েন্ট ID দেখো, আর সার্ভারসহ অ্যাপের জন্য ক্লায়েন্ট সিক্রেট তৈরি করো, যা একবার দেখানো হয়।
একটি লাইব্রেরির যা দরকার, সবই ডিসকভারি ডকুমেন্টে আছে:
https://tellmelo.com/.well-known/openid-configurationসদস্যকে /oauth/authorize-এ পাঠাও, সঙ্গে response_type=code, client_id, redirect_uri (ঠিক যেমন নিবন্ধিত), scope=openid profile email, state, nonce আর code_challenge_method=S256 সহ code_challenge। এক মিনিটের মধ্যে /oauth/token-এ কোডটি বদলাও: grant_type=authorization_code, code, redirect_uri আর code_verifier; সার্ভারসহ অ্যাপ সঙ্গে সিক্রেটও পাঠায়, Basic প্রমাণীকরণে বা ফর্মে। ID টোকেনে (RS256, কী /oauth/jwks-এ) থাকে sub, profile সহ preferred_username-ও, email সহ email আর email_verified-ও। অ্যাক্সেস টোকেন ১০ মিনিট বৈধ এবং শুধু /oauth/userinfo পড়ে। https://tellmelo.com/oauth/authorize?response_type=code&client_id=tm_…
&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=openid%20profile%20email
&state=…&nonce=…&code_challenge=…&code_challenge_method=S256
curl -u "tm_…:tms_…" https://tellmelo.com/oauth/token \
-d grant_type=authorization_code -d code=… \
-d redirect_uri=https://example.com/callback -d code_verifier=…{
"iss": "https://example.social",
"sub": "Xq3vR0b8yJm1cW4tZ2kPn6sLd9fHa7gE5uTo0iBeVxY",
"aud": "tm_5f2c9e1a7b3d4c6e8f0a1b2c",
"iat": 1760432400,
"exp": 1760433000,
"nonce": "n-0S6_WzA2Mj",
"at_hash": "HK6E_P6Dh8Y93mRNtsDB1Q",
"preferred_username": "anna",
"email": "anna@example.com",
"email_verified": true
}রিফ্রেশ টোকেন নেই: tellmelo সাইন ইন করায়, স্থায়ী অ্যাক্সেস দেয় না। কোনো সদস্য সাইট সরালে বা দল অ্যাপ স্থগিত করলে /oauth/userinfo সঙ্গে সঙ্গে 401 দেয়। prompt=none পাতা ছাড়া যাচাই করে, prompt=consent আবার জিজ্ঞেস করে।
আমরা যা আশা করি সব জায়গার মতো একই নিয়ম: হয়রানি নয়, স্প্যাম নয়, এমন বিষয়বস্তু নয় যার অধিকার তোমার নেই। তোমার চাবি যা পোস্ট করে তার দায় তোমার।
অন্যদের GIF ও ভিডিও তোমার ওয়েবসাইটে কেবল তখনই দেখাও, যখন সেগুলোর embed আছে, এই ঠিকানাগুলোর মাধ্যমে এবং যে শেয়ার করেছে তার নামসহ। কিছু আর পাওয়া না গেলে সেটি দেখানো বন্ধ করো। ফাইলগুলো নিজের কোনো সংগ্রহে কপি করো না।