Jetzt sind Bots alltäglich geworden und befinden sich in jedem Schritt. Wenn Sie Ihren Bot jedoch im sozialen Netzwerk von VKontakte benötigen, ist dies einfach zu implementieren.
Wir werden brauchen:
- Python
- VK Api
- Wunsch
Genau das Richtige für Anfänger
Wie installiere ich Python?Laden Sie das Installationsprogramm
herunter und führen Sie es aus.
Wo soll ich diesen Code schreiben?Zu einem Textdokument mit der Erweiterung .py
Und was soll ich schreiben?Ja, auch mit einem Notebook. Persönlich empfehle ich
Notepad ++ Und wie läuft man?Über die Kommandozeile.
python \.py
Wie funktioniert es
Alles ist sehr einfach, in vk api gibt es so etwas wie
longpool, es funktioniert so:
Long Polling ist eine Technologie, mit der Sie mithilfe von "langen Abfragen" Daten zu neuen Ereignissen empfangen können. Der Server empfängt die Anforderung, sendet jedoch keine sofortige Antwort darauf, sondern nur, wenn ein Ereignis eintritt (z. B. wenn eine neue Nachricht eintrifft) oder das angegebene Zeitlimit abläuft.
Auf Russisch senden wir eine Anfrage an den Server, und er stößt wiederum VKontakte an, wenn dort etwas passiert. Beispielsweise erhalten wir eine Nachricht, er rennt und erzählt uns davon. Daraus werden wir tanzen.
Technische Umsetzung
Erstens müssen wir im Kontakt beweisen, dass wir wir sind und nicht jemand anderes. Dies geschieht sehr einfach.
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
Beachten Sie, dass die Jungs von VK empfehlen, eine Telefonnummer als Login zu verwenden. Andernfalls können Sie auf eine Anti-Bot-Prüfung stoßen, bei der Sie aufgefordert werden, die fehlenden Nummern aus der Telefonnummer einzugeben.
Wenn der Bot in einer Gruppe sitzt, sieht die Autorisierung anders aus.
import requests import vk_api vk_session = vk_api.VkApi(token=' ')
- Was ist ein Token?
- So etwas von Tsiferok und Buchstaben, die Sie in den Gruppeneinstellungen benötigen. Öffnen Sie dazu einfach den Abschnitt "Community-Verwaltung" ("Seite verwalten", wenn Sie eine öffentliche Seite haben), wählen Sie die Registerkarte "Mit API arbeiten" und klicken Sie auf "Zugriffsschlüssel erstellen".
Rufen Sie jetzt Longpool an.
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:
Nachrichten enthalten möglicherweise nicht nur den von Ihnen angegebenen Text. Zum Beispiel:
import datetime vk.messages.send( user_id=event.user_id, message=' : ' + str(now.strftime("%H:%M")) )
Sie können auch Bilder anhängen.
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=' ' )
Sie können sich viele interessante Dinge einfallen lassen, aber denken Sie selbst darüber nach, und ich sage nur Folgendes: Links können in Teile unterteilt werden. Zum Beispiel:
image_url = 'http://.com/uploads/' + event.text + '.png'
und niemand hat uns verboten, eine Antwort von einem Benutzer am Beispiel von Wikipedia zu erhalten:
import wikipedia
Links zu Beispielen und Dokumentation
Beispiel Bot arbeitet an DuckDuckGo APIVK API Anwendungsfälle (allgemein)VK API-Dokumentation
Eins ,
ZweiDarauf werde ich mich von dir verabschieden. Gute Codierung.