أصبحت برامج الروبوت الآن شائعة وهي في كل خطوة ، ولكن إذا كنت بحاجة إلى برنامج الروبوت الخاص بك على شبكة VKontakte الاجتماعية ، فمن السهل تنفيذ ذلك.
سنحتاج إلى:
- بيثون
- VK Api
- الرغبة
حسنًا ، مناسب تمامًا للمبتدئين
كيفية تثبيت Python؟تنزيل ،
قم بتشغيل المثبت.
أين تكتب هذا الرمز؟إلى مستند نصي بامتداد .py
وماذا أكتب؟نعم ، حتى مع وجود جهاز كمبيوتر محمول. شخصيا ، أوصي
Notepad ++ وكيف تركض؟من خلال سطر الأوامر.
python \.py
كيف يعمل؟
كل شيء بسيط للغاية ، في vk api يوجد شيء من هذا القبيل ، يدعى
longpool يعمل مثل هذا:
Long Polling هي تقنية تسمح لك بتلقي بيانات حول الأحداث الجديدة باستخدام "الاستعلامات الطويلة". يتلقى الخادم الطلب ، ولكنه لا يرسل ردًا عليه على الفور ، ولكن فقط عند وقوع حدث (على سبيل المثال ، تصل رسالة جديدة) أو تنتهي المهلة المحددة.
في روسيا ، نرسل طلبًا إلى الخادم ، وهو بدوره ، ينقر على فكونتاكتي إذا حدث شيء هناك ، على سبيل المثال ، نتلقى رسالة ، يديرها ويخبرنا عنها. من هذا سوف نرقص.
التنفيذ الفني
أولاً ، نحتاج أن نثبت أننا على اتصال ، وليس أي شخص آخر. يتم ذلك ببساطة شديدة.
import vk_api import requests session = requests.Session() login, password = ' , email ', ' ' vk_session = vk_api.VkApi(login, password) try: vk_session.auth(token_only=True) except vk_api.AuthError as error_msg: print(error_msg) return
ملاحظة ، يوصي الأشخاص من VK باستخدام رقم هاتف لتسجيل الدخول. خلاف ذلك ، يمكنك أن تصطدم بفحص مضاد للبوت ، حيث يُطلب منك إدخال الأرقام المفقودة من رقم الهاتف.
إذا كان البوت سيجلس في مجموعة ، فسيبدو التفويض مختلفًا.
import requests import vk_api vk_session = vk_api.VkApi(token=' ')
- ما هو الرمز المميز؟
- مثل هذا الشيء من tsiferok والحروف التي تحتاجها للحصول على إعدادات المجموعة. للقيام بذلك ، ما عليك سوى فتح قسم "إدارة المجتمع" ("إدارة الصفحة" إذا كانت لديك صفحة عامة) ، حدد علامة التبويب "العمل مع واجهة برمجة التطبيقات" وانقر على "إنشاء مفتاح وصول".
اتصل الآن longpool.
from vk_api.longpoll import VkLongPoll, VkEventType longpoll = VkLongPoll(vk_session) vk = vk_session.get_api() for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text:
قد لا تحتوي الرسائل فقط على النص الذي تحدده. على سبيل المثال:
import datetime vk.messages.send( user_id=event.user_id, message=' : ' + str(now.strftime("%H:%M")) )
يمكنك أيضًا إرفاق الصور.
attachments = [] from vk_api import VkUpload upload = VkUpload(vk_session) image_url = ' ' image = session.get(image_url, stream=True) photo = upload.photo_messages(photos=image.raw)[0] attachments.append( 'photo{}_{}'.format(photo['owner_id'], photo['id']) ) vk.messages.send( user_id=event.user_id, attachment=','.join(attachments), message=' ' )
يمكنك التوصل إلى الكثير من الأشياء المثيرة للاهتمام ، ولكن فكر في الأمر بنفسك ، وسأقول فقط: يمكن تقسيم الروابط إلى أجزاء. على سبيل المثال:
image_url = 'http://.com/uploads/' + event.text + '.png'
ولم يمنعنا أحد من تلقي رد من مستخدم على مثال ويكيبيديا:
import wikipedia
روابط للأمثلة والوثائق
بوت بوت يعمل على DuckDuckGo apiحالات استخدام واجهة برمجة تطبيقات VK (عام)توثيق واجهة برمجة تطبيقات VK
واحد ،
اثنانعلى هذا أقول وداعا لك. ترميز جيد.