টুল: send_message
মার্কডাউন ফরম্যাটিং সহ একটি কথোপকথনে গুগল চ্যাট বার্তা পাঠায়।
এই টুলটি ইনপুট হিসেবে একটি কথোপকথন আইডি, একটি ঐচ্ছিক থ্রেড আইডি এবং একটি বার্তার টেক্সট ব্যবহার করে।
search_conversations টুলটি ব্যবহার করে কথোপকথনের আইডিগুলো খুঁজে পাওয়া যায়।
এটি তৈরি করা বার্তাটি ফেরত দেয়।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে curl ব্যবহার করে send_message MCP টুলটি কল করতে হয়।
| কার্ল অনুরোধ |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "send_message", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
ইনপুট স্কিমা
বার্তা অনুরোধ পাঠান
| JSON উপস্থাপনা |
|---|
{ "conversationId": string, "threadId": string, "messageText": string } |
| ক্ষেত্র | |
|---|---|
conversationId | আবশ্যক। যে কথোপকথনে বার্তাটি পাঠাতে হবে তার আইডি (যেমন, 'spaces/AAAA...')। |
threadId | ঐচ্ছিক। যে থ্রেডে বার্তাটি পাঠাতে হবে তার আইডি (যেমন, 'spaces/AAAA.../threads/BBBB...')। সেট না করা হলে, বার্তাটি একটি নতুন থ্রেডে পাঠানো হবে। |
messageText | আবশ্যক। বার্তার মূল বিষয়বস্তু। স্ট্যান্ডার্ড মার্কডাউন ব্যবহার করে ফরম্যাটিং যোগ করা যেতে পারে (উল্লেখ্য যে, টেবিল সমর্থিত নয়)। নিম্নলিখিত ফরম্যাটিং সমর্থিত:
|
আউটপুট স্কিমা
গুগল চ্যাট কথোপকথনে বার্তা পাঠানোর প্রতিক্রিয়া।
বার্তা প্রতিক্রিয়া পাঠান
| JSON উপস্থাপনা |
|---|
{
"message": {
object ( |
| ক্ষেত্র | |
|---|---|
message | যে বার্তাটি পাঠানো হয়েছিল। |
চ্যাট বার্তা
| JSON উপস্থাপনা |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| ক্ষেত্র | |
|---|---|
messageId | বার্তার রিসোর্স নাম। ফরম্যাট: স্পেস/{স্পেস}/বার্তা/{বার্তা} |
threadId | এই বার্তাটি যে থ্রেডের অন্তর্গত। বার্তাটি আনথ্রেডেড হলে এটি খালি থাকবে। ফরম্যাট: স্পেস/{স্পেস}/থ্রেড/{থ্রেড} |
plaintextBody | মার্কডাউন ফরম্যাটিং ব্যবহার করে বার্তার মূল অংশ। |
sender | বার্তার প্রেরক। |
createTime | শুধুমাত্র আউটপুট। বার্তাটি তৈরি হওয়ার সময়কার টাইমস্ট্যাম্প। |
threadedReply | বার্তাটি একটি থ্রেড রিপ্লাই কিনা। |
attachments[] | বার্তার সাথে সংযুক্ত ফাইলগুলো রয়েছে। |
reactionSummaries[] | বার্তাটিতে ইমোজি প্রতিক্রিয়াগুলোর সারাংশ অন্তর্ভুক্ত করা হয়েছে। |
ব্যবহারকারী
| JSON উপস্থাপনা |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| ক্ষেত্র | |
|---|---|
userId | চ্যাট ব্যবহারকারীর রিসোর্স নাম। ফরম্যাট: users/{user}। |
displayName | একজন চ্যাট ব্যবহারকারীর প্রদর্শিত নাম। |
email | ব্যবহারকারীর ইমেল ঠিকানা। এই ক্ষেত্রটি শুধুমাত্র তখনই পূরণ করা হয় যখন ব্যবহারকারীর ধরন মানুষ (HUMAN) হয়। |
userType | ব্যবহারকারীর ধরণ। |
চ্যাট সংযুক্তি মেটাডেটা
| JSON উপস্থাপনা |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| ক্ষেত্র | |
|---|---|
attachmentId | সংযুক্তিটির রিসোর্স নাম। ফরম্যাট: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename | সংযুক্তিটির নাম। |
mimeType | বিষয়বস্তুর ধরণ (MIME টাইপ)। |
source | সংযুক্তিটির উৎস। |
প্রতিক্রিয়া সারাংশ
| JSON উপস্থাপনা |
|---|
{ "emoji": string, "count": integer } |
| ক্ষেত্র | |
|---|---|
emoji | ইমোজি ইউনিকোড স্ট্রিং অথবা নিজস্ব ইমোজির নাম। |
count | সংশ্লিষ্ট ইমোজি ব্যবহার করে করা মোট প্রতিক্রিয়ার সংখ্যা। |
ব্যবহারকারীর ধরণ
গুগল চ্যাট ব্যবহারকারীর প্রকারভেদ।
| এনাম | |
|---|---|
USER_TYPE_UNSPECIFIED | অনির্দিষ্ট। |
HUMAN | মানব ব্যবহারকারী। |
APP | অ্যাপ ব্যবহারকারী। |
উৎস
সংযুক্তিটির উৎস।
| এনাম | |
|---|---|
SOURCE_UNSPECIFIED | সংরক্ষিত। |
DRIVE_FILE | ফাইলটি একটি গুগল ড্রাইভ ফাইল। |
UPLOADED_CONTENT | ফাইলটি চ্যাটে আপলোড করা হয়েছে। |
টুল টীকা
কোনো নির্দিষ্ট টুলের প্রাথমিক ঝুঁকি বর্ণনা করার জন্য টুল অ্যানোটেশনগুলো এমসিপি ক্লায়েন্টদের কাছে পাঠানো হয়। বেশিরভাগ ক্লায়েন্ট এই ইঙ্গিতগুলোকে অবিশ্বস্ত হিসেবে গণ্য করে, কিন্তু কখন একজন ব্যবহারকারীকে নিশ্চিতকরণের জন্য প্রম্পট পাঠানো হবে, সেই সিদ্ধান্ত নিতে এগুলো ব্যবহার করা যেতে পারে।
টাইটেল স্ট্রিং-এর পাশাপাশি, নিম্নলিখিত বুলিয়ান হিন্টগুলো নিম্নরূপভাবে সংজ্ঞায়িত করা হয়েছে:
-
readOnlyHint: যদি true হয়, টুলটি তার পরিবেশ পরিবর্তন করে না। ডিফল্ট: false। -
destructiveHint: যদি true হয়, তাহলে টুলটি ধ্বংসাত্মক কাজ করতে পারবে। যদি false হয়, তাহলে টুলটি শুধুমাত্র সংযোজনমূলক কাজ করতে পারবে। ডিফল্ট: true। -
idempotentHint: যদি true হয়, তাহলে একই আর্গুমেন্ট দিয়ে টুলটিকে বারবার কল করলেও এর এনভায়রনমেন্টের উপর কোনো অতিরিক্ত প্রভাব পড়বে না। ডিফল্ট: false। -
openWorldHint: যদি true হয়, তাহলে টুলটি বাহ্যিক সত্তার 'ওপেন ওয়ার্ল্ড'-এর সাথে ইন্টারঅ্যাক্ট করতে পারবে। যদি false হয়, তাহলে টুলটি শুধুমাত্র অভ্যন্তরীণ সত্তার সাথে ইন্টারঅ্যাক্ট করতে পারবে। উদাহরণস্বরূপ, একটি ওয়েব সার্চ টুল ওপেন ওয়ার্ল্ড হবে, কিন্তু একটি মেমরি টুল ওপেন ওয়ার্ল্ড হবে না।
ধ্বংসাত্মক ইঙ্গিত: ❌ | স্বকীয় ইঙ্গিত: ❌ | শুধুমাত্র পঠনযোগ্য ইঙ্গিত: ❌ | উন্মুক্ত বিশ্ব ইঙ্গিত: ✅
অনুমোদনের পরিধি
নিম্নলিখিত OAuth স্কোপগুলির মধ্যে একটি প্রয়োজন:
-
https://www.googleapis.com/auth/chat.messages -
https://www.googleapis.com/auth/chat.messages.create