تلقي رسائل نصية قصيرة منتظمة إلى مراسلة Viber و Telegram الفورية (باستخدام بوابات GoIP)

في العديد من الشركات التي تستخدم الاتصال الهاتفي عبر بروتوكول الإنترنت واستخدام بوابات GSM لاتصالات الشركات ، غالباً ما يطرح السؤال حول استلام وإرسال الرسائل القصيرة من أرقامها.

بالنسبة لنماذج GOIP الصينية ، هناك حل جيد GOIP-SMS-Server ، والذي تم ذكره مرارًا وتكرارًا على الإنترنت وفي مجتمع Habr أيضًا. هذا منتج بسيط ومجاني ومريح ، لكن الرسائل القصيرة عبر WEB ، وخاصة من الجوّال ، ليست مريحة للغاية.

كانت هناك فكرة عن استلام وإرسال الرسائل القصيرة باستخدام برنامج messenger - وتم تنفيذه في ساعة واحدة باستخدام برنامج نصي Python3.6 بسيط وروبوت Telegram (وبعد شهرين تم نقله إلى Viber)

المنطق هو على النحو التالي: نحن نقوم بمعالجة الطلب وتحليله ، واستخراج نص الرسائل القصيرة ، وإرساله إلى الروبوتات وإرساله إلى المحادثات الشخصية - نحصل على الرسائل القصيرة ، والموضوع مثير للاهتمام بشكل خاص لأصحاب iPhone مع بطاقة SIM واحدة ، عندما تحتاج بسرعة إلى تلقي الرسائل في رحلة عمل أو إجازة ، من البنوك أو خدمات التسجيل أو معرفة المزيد عن تجديد المشغل:

لذلك ، سننظر في الجزء الأول ، وهو كيفية تلقي الرسائل النصية القصيرة كاملة من شبكة GSM مباشرة في Telegram ، نحتاج إلى:

  • خادم الرسائل القصيرة GoIP
  • تسجيل الروبوت (احصل على رمز من أبي جميع الروبوتاتBotFather)
  • قم بتسجيل صندوق بريد جديد على Gmail وتمكين استقبال IMAP

سنقوم بتحليل مثال نصي ، ولكن أولاً في خادم SMS ، سنضيف البريد الإلكتروني للمستلم (يمكن فصل عدة رسائل بريد إلكتروني بفواصل:

صورة

النظر في السيناريو:

import imaplib import email import telebot #      pip install PyTelegramBotAPI bot = telebot.TeleBot('YOUTOKENBOT') #   mail = imaplib.IMAP4_SSL('imap.gmail.com') mail.login('yougmail@gmail.com', 'gmailpassword') #   @gmail mail.list() #      mail.select('INBOX') #     result, data = mail.uid('search', None, 'UNSEEN') #   i = len(data[0].split()) for x in range(i): latest_email_uid = data[0].split()[x] result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)') raw_email = email_data[0][1] mail.store(latest_email_uid, '+FLAGS', '\Deleted') #       raw_email_string = raw_email.decode('utf-8') email_message = email.message_from_string(raw_email_string) #       for part in email_message.walk(): if part.get_content_type() == "text/html" or part.get_content_type() == "text/plain": body = part.get_payload(decode=True) s = (email_message['Subject']) numb = s[5:16] #    11    7XXXXXXXXXX   ,  12      s[5:17] mss = str(body.decode('unicode-escape')) #      Python3  unicode,  2      abon = mss[54:67] #    smss = mss[77:] #   ,      soobsh=( numb + 'n'+ 'n' + smss + 'n' + ':' + abon) #    bot.send_message(chat_id, soobsh) #   chat_id       else: continue 

الآن نقوم بتشغيل البرنامج النصي ، وإرسال رسالة نصية قصيرة إلى Sim لدينا وانتظار المعالجة - حوالي 3 ثوانٍ يستغرق نقل الرسائل القصيرة إلى messenger ، إذا كان كل شيء على ما يرام ، ثم نرى رسالتنا في TelegramBot لدينا
(الأرقام الحقيقية تمحى من أجل تجنب النزاعات "الربيع"):

صورة

صورة

صورة

يمكنك لف البرنامج النصي في "وظيفة def" واستدعائه كل 3 أو 20 أو لعدد الثواني التي تحتاجها! يعتمد على وتيرة تلقي الرسائل القصيرة موافق!

إذا لم يتمكن أحد من التكرار ، فاكتب - سنحلل كل حالة ...

نراكم في المقال القادم!
73!

ملحوظة: خضعت المقالة لنحو عام في صندوق الحماية (الذي أقره UFO في 08/20/2018) لعدة تغييرات ، يبدو أن المقالات القديمة لا تأتي تلقائيًا ، حتى لو سمحت المادة الجديدة بأن تصبح عضوًا كامل العضوية. أنا نشر الأصلي الأصلي.

الآن يمكن مناقشتها.

Source: https://habr.com/ru/post/ar464671/


All Articles