تقنية

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


هل ترغب في تلقي الإخطارات في رسول Telegram الخاص بك عند تقديم استجابة جديدة للنموذج في نماذج Google. أو ربما أرسل تنبيهًا للإخطار إلى مجموعة Telegram بأكملها عند حدوث حدث مهم.

في هذا البرنامج التعليمي خطوة بخطوة ، ستتعلم كيفية إنشاء روبوت Telegram جديد وإرسال رسائل إلى قناة Telegram ومجموعاتك من خلال هذا الروبوت بمساعدة البرنامج النصي لتطبيقات Google.

إنشاء روبوت برقية جديد

افتح تطبيق Telegram على سطح المكتب أو هاتفك المحمول وابحث عن botfather bot. هذا هو روبوت Telegram الرسمي الذي يمكنك التفاعل معه لإنشاء وإدارة الروبوتات الخاصة بك.

  1. داخل جلسة الدردشة مع @BotFather، انقر فوق الزر “ابدأ” واكتب الأمر /newbot لإنشاء روبوت برقية جديد.
  2. امنح روبوت Telegram اسمًا قصيرًا ثم قدم اسم مستخدم لبروبتك. منجم myfirstbotin2021_bot (تم أخذ معظم الأسماء الجيدة بالفعل).
  3. سوف يوفر لك 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

إرسال إشعارات نصية غنية مع 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



Source link


اكتشاف المزيد من مرابع التكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من مرابع التكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading