كيفية إنشاء روبوت برقية لإرسال الإخطارات باستخدام البرنامج النصي لتطبيقات Google

هل ترغب في تلقي الإخطارات في رسول Telegram الخاص بك عند تقديم استجابة جديدة للنموذج في نماذج Google. أو ربما أرسل تنبيهًا للإخطار إلى مجموعة Telegram بأكملها عند حدوث حدث مهم.
في هذا البرنامج التعليمي خطوة بخطوة ، ستتعلم كيفية إنشاء روبوت Telegram جديد وإرسال رسائل إلى قناة Telegram ومجموعاتك من خلال هذا الروبوت بمساعدة البرنامج النصي لتطبيقات Google.
إنشاء روبوت برقية جديد
افتح تطبيق Telegram على سطح المكتب أو هاتفك المحمول وابحث عن botfather bot. هذا هو روبوت Telegram الرسمي الذي يمكنك التفاعل معه لإنشاء وإدارة الروبوتات الخاصة بك.
- داخل جلسة الدردشة مع
@BotFather
، انقر فوق الزر “ابدأ” واكتب الأمر/newbot
لإنشاء روبوت برقية جديد. - امنح روبوت Telegram اسمًا قصيرًا ثم قدم اسم مستخدم لبروبتك. منجم
myfirstbotin2021_bot
(تم أخذ معظم الأسماء الجيدة بالفعل). - سوف يوفر لك Telegram رمز API. لاحظ قيمة الرمز المميز لأننا سنطلبها في خطوة لاحقة.
تم إنشاء أول روبوت Telegram بنجاح. في الخطوة التالية ، وهذا أمر مهم ، تحتاج إلى التفاعل مع هذا الروبوت من حساب Telegram الخاص بك.
يمكنك القيام بذلك عن طريق فتح رابط الروبوت الخاص بك – شيء مثل t.me/username_bot
وانقر فوق Start
زر. يكتب Hello bot!
أو أي نص لتسخين الروبوت.
Post to Telegram Group
إذا كنت ترغب في نشر الرسائل إلى مجموعة برقية من خلال هذا الروبوت ، فأنت بحاجة أولاً إلى إضافة هذا الروبوت كعضو في هذه المجموعة ، وجعل الروبوت كمسؤول للمجموعة ثم نشر رسالة الاحماء في تلك المجموعة من تلك المجموعة حساب.
بعد قناة Telegram
أخيرًا ، إذا كنت ترغب في نشر الرسائل إلى قناة Telegram من الروبوت ، فيجب إضافة الروبوت كعضو في تلك القناة وترقيته كمسؤول. بعد ذلك ، أرسل رسالة الاحماء في القناة من حسابك الخاص.
احصل على قائمة بقنوات ومجموعات البرقية
الآن وقد تمت إضافة روبوت Telegram الخاص بنا إلى مجموعات وقنوات مختلفة ، يمكننا استخدام برنامج Google Apps Script للحصول على قائمة بجميع الأماكن التي يمكن للوصول إلى الروبوت الوصول إلى الرسائل كتابة.
افتح محرر Google Script ، وقم بتشغيل الرمز التالي. تذكر أن تحل محل BOT_TOKEN
مع رمز الروبوت الخاص بك.
// Returns a Object of chat_id and names
const getTelegramGroupsAndChannels = () => {
// Type your Telegram Bot token here
const BOT_TOKEN = '1986321029:AAF09NbQfA9wdCyLAHsjpoSC43ai0P0VEh4';
const TELEGRAM_API = `https://api.telegram.org/bot${BOT_TOKEN}/getUpdates`;
const response = UrlFetchApp.fetch(TELEGRAM_API);
const { ok, result = [] } = JSON.parse(response);
if (!ok) {
throw new Error('Please check your API token again!');
}
if (result.length === 0) {
throw new Error('Please add this bot to a Telegram group or channel!');
}
const telegramBotList = {};
result.forEach((e) => {
const { message, my_chat_member, channel_post } = e;
const { chat } = { ...message, ...my_chat_member, ...channel_post };
const { title, id, username } = chat;
telegramBotList[id] = { chat_id: `${id}`, title: title || username };
});
Logger.log(Object.values(telegramBotList));
/* Prints an array of groups and channels known to your bot
{chat_id=300816220, title=labnol},
{chat_id=-595214405, title=Telegram Group},
{chat_id=-10547249514, title=Telegram Channel} */
};
نشر الرسائل إلى Telegram
الآن بعد أن أصبح لدينا قائمة بمجموعات Telegram والقنوات التي يكون لدى الروبوت إذنًا لنشر الرسالة ، يمكننا بسهولة دفع رسالة إلى تلك المجموعة باستخدام Telegram API.
أنت بحاجة إلى الفريدة chat_id
من المجموعة أو القناة ورسالتك النصية التي قد تحتوي أيضًا على رموز تعبيرية. إذا كان لديك رسالة متعددة الخطوط ، تذكر الهروب من السلسلة باستخدام encodeURIComponent
مثل أحرف الخط الجديد \n
يتم استبدالها %0A
وهلم جرا.
const postMessageToTelegram = () => {
// Provide the Id of your Telegram group or channel
const chatId = '-59521405';
// Enter your message here
const message = 'How are you 💕';
const BOT_TOKEN = '1986321029:AAF09NbQfA9wdCyLAHsjpoSC43ai0P0VEh4';
const TELEGRAM_API = `https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`;
const text = encodeURIComponent(message);
const url = `${TELEGRAM_API}?chat_id=${chatId}&text=${text}`;
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const { ok, description } = JSON.parse(response);
if (ok !== true) {
Logger.log(`Error: ${description}`);
}
};
إرسال إشعارات نصية غنية مع Telegram
بالإضافة إلى نص عادي ، يمكنك أيضًا نشر رسائل نصية غنية مصممة إما باستخدام HTML أو تنسيق Markdown. في كلتا الحالتين ، تحتاج إلى تعيين ملف parse_mode
إما إلى HTML أو MarmDownV2 اعتمادًا على تنسيق نص الإدخال.
هذا هو نفسه sendMessage
API ولكن مع نص HTML الغني.
const postRichHTMLToTelegram = () => {
// Chat Id of the Telegram user, group or channel
const chatId = '-5954105';
// Rich text with HTML tags and entities
const message = `Telegram supports different <a href="https://w3.org">HTML5 tags</a>. These include classic tags like <b>bold</b>, <em>emphasis</em>, <strong>strong</strong>, <s>strikethrough</s>, <u>underlines</u>, and <code>preformatted code</code>.`;
const BOT_TOKEN = '1986321029:AAF09NbQfA9wdCyLAHsjpoSC43ai0P0VEh4';
const TELEGRAM_API = `https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`;
// Escape the input text
const text = encodeURIComponent(message);
const url = `${TELEGRAM_API}?chat_id=${chatId}&text=${text}&parse_mode=HTML`;
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const { ok, description } = JSON.parse(response);
if (ok !== true) {
Logger.log(`Error: ${description}`);
}
};
يرجى ملاحظة أنه إذا كانت علامة HTML لا تدعم من قبل Telegram ، <H1>
أو <TABLE>
على سبيل المثال ، سيتم رفض رسالتك. انقر هنا لمشاهدة القائمة الكاملة لعلامات HTML التي تدعمها Telegram.
انظر أيضًا: أرسل إشعارات الدفع باستخدام نماذج Google
اكتشاف المزيد من مرابع التكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.