msg_4 = "🖐ᅠ ᅠ🍺Го бухать" msg_5 = "🖐 ᅠ 🍺 Го бухать" msg_6 = "🖐🍺Го бухать" msg_7 = "🖐🍺Го бухать" messages.write_msg(peer_id, msg_1) msg_id = vk_info.info_msg_id(peer_id) time.sleep(1) messages.edit_msg(peer_id, msg_2, msg_id) time.sleep(1) messages.edit_msg(peer_id, msg_3, msg_id) time.sleep(1) messages.edit_msg(peer_id, msg_4, msg_id) time.sleep(1) messages.edit_msg(peer_id, msg_5, msg_id) time.sleep(1) messages.edit_msg(peer_id, msg_6, msg_id) time.sleep(1) messages.edit_msg(peer_id, msg_7, msg_id) with open("main/database/database_token.json", "r", encoding="utf-8") as file: data = json.loads(file.read()) token = data['token'] # Авторизуемся как сообщество vk = vk_api.VkApi(app_id=6146827, token=token) # Работа с сообщениями longpoll = VkLongPoll(vk, wait=0)
import os, sys import requests, vk_api import time import traceback import bot_messages import bot_report import bot_users_check vk_session = vk_api.VkApi( token= '02d23799d5fcd74ab5c28e8ca9b1d268dc43308b34d0918332da3316c60a5762bb467d4c9641a0fc0cdcd' ) from vk_api.longpoll import VkLongPoll, VkEventType longpoll = VkLongPoll(vk_session) vk = vk_session.get_api() bot_report.bot_started_message_func() try: for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text and event.from_user: #Слушаем longpoll, если пришло сообщение то: if bot_users_check.user_in_base_func(event.user_id): bot_report.message_get_func(event.user_id, event.text) bot_messages.message_send_func(event, vk) else: bot_report.message_get_func(event.user_id, event.text) bot_messages.new_user_func(event, vk)
import vk_api import bs4 from vk_api.longpoll import VkLongPoll, VkEventType import re import requests import datetime import matplotlib import matplotlib.pyplot as plt token = "ad717cbc60d260bf17875fa8b7e1c0656dbb34dac2bb5007c8367297a2e470010e8d26a01adf2f99e38a3" vk = vk_api.VkApi(token=token) longpoll = VkLongPoll(vk) usersCity = dict() class VkBot: def run(self): """ Runs the bot """ for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW: if event.to_me: message = event.text.lower() self.answer(message, event.user_id, event.random_id)
import vk_api from vk_api.longpoll import VkLongPoll from aiogram import Bot, Dispatcher, executor, types token = '' session = vk_api.VkApi(token=token) vk = session.get_api() longpoll = VkLongPoll(session) bot = Bot('') dp = Dispatcher(bot) def vk_message_send(id, msg): vk.messages.send(user_id=id, message=msg, random_id=0) @dp.message_handler(content_types=['text']) async def echo(message: types.Message): split_text = message.text.split('\n') id = int(split_text[0]) vk_message = ' '.join(split_text[1:]) vk_message_send(id, vk_message) await message.answer('Сообщение отправлено') if __name__ == '__main__': executor.start_polling(dp, skip_updates=True)
def __init__(self, access_token): self.vk = vk_api.VkApi(token=access_token) self.longpoll = VkLongPoll(self.vk)
keyboard = keyboard.get_keyboard() return keyboard def create_grafic(): keyboard = VkKeyboard(one_time=True) keyboard.add_button('На сегодня',color=VkKeyboardColor.PRIMARY) keyboard.add_button('На эту неделю',color=VkKeyboardColor.PRIMARY) keyboard=keyboard.get_keyboard() return keyboard flag=True date=datetime.datetime.today() day=date.weekday() print(day) ignor=set() while True: try: for event in VkLongPoll(vk_session).listen(): keyboard = create_keyboard() keyboard1 = create_grafic() date=datetime.datetime.today() day=date.weekday() #print(day) date=datetime.date.today() if day==6 and flag==True: flag=False nov='' for key in t.novosti: if check_date(key,180): nov+=t.novosti[key]+'\n'+'\n' try: send_to_all(nov) except:
def main(): global audio_url, files, filename, vk_doc, vk #Запускаеaudiссию и авторизируем бота через токен session = requests.Session() vk_session = vk_api.VkApi(token=token_) print('Initialized vk_session') vk = vk_session.get_api() #будем использовать longpoll api для онлайн-ответов от бота longpoll = VkLongPoll(vk_session,preload_messages=True) #ожидаем (listen) очередное событие event от пользователя i = 0 ''' Это основной цикл, где бот ожидает очередного сообщения от пользователя и обрабатывает его ''' for event in longpoll.listen(): i += 1 #если сообщение -- новое и прислано нашему боту, то обрабатываем его: if event.type == VkEventType.MESSAGE_NEW and event.to_me: s=agrootv ''' Посмотрим, от кого пришло НОВОЕ сообщение и найдем информацию о пользователе. Разбираем сначала текстовое сообщение, затем -- прикрепленный аттач. ''' usr_info = vk_session.method('users.get', {'user_ids': event.user_id, 'fields': 'city, verified'}) name = usr_info[0]['first_name'] print(i,' Сообщение от ''{}: "{}"'.format(usr_info[0]['last_name'], event.text), end=' ') if (name == 'Ефим'): vk.messages.send(user_id=event.user_id, message='Извини, Ефим, но с тобой я общаться не буду' ) continue text_usr=event.text text_usr = re.sub('[!?@#$]', '', text_usr) text_from_usr_=text_usr.lower().split() for i in range(len(text_from_usr_)): text_from_usr=text_from_usr_[i] if event.text: msg = handle_text_msg(text_from_usr_=text_from_usr_, length=len(text_from_usr_), vk = vk_session.get_api(), name=name ) vk.messages.send( user_id=event.user_id, message=msg ) else: if len(event.text)==0: print('recieved attach') audio = handle_attach(event,vk = vk) #print(audio,peer_id) if not(audio == 1): print('recieved audio') upload = vk_api.VkUpload(vk_session) audio_url = vk_session.method('docs.getMessagesUploadServer', {'type': 'audio_message', 'peer_id':event.user_id, 'group_id':group_id}) filename = "voice_{}.ogg".format(event.message_id) files = [('file', ('file0.ogg', open(filename, 'rb')))] audio_msg = requests.post(audio_url['upload_url'], files=files).json() vk_file = audio_msg['file'] vk_doc = vk_session.method('docs.save', {'file': vk_file}) print(vk_doc[0]) vk.messages.send( user_id=event.user_id, attachment='doc{}_{}'.format(vk_doc[0]['owner_id'], vk_doc[0]['id']) ) print('====================================','Querry',i,'completed','====================================')
import vk_api import vkcoin from vk_api.longpoll import VkLongPoll from vkbottle import Bot from vkcoinapi import * vk_session = vk_api.VkApi(token='ab4145d1b0425733b338a2082ae05c1452c98a5d38a14a1100f239b07dc2249b6278d9b1e05d2679a4222') bot = Bot("ab4145d1b0425733b338a2082ae05c1452c98a5d38a14a1100f239b07dc2249b6278d9b1e05d2679a4222") group_id = '-195266217' coin = VKCoin(key='8jrkRfHFBk76U4e8n7Cl&oJJe!BFkMnfA5&zh4#6dA88tjZQ19', merchantId=192557599) pay = VKCoin(key='8jrkRfHFBk76U4e8n7Cl&oJJe!BFkMnfA5&zh4#6dA88tjZQ19', merchantId=192557599) coin_sema = VKCoin(key='8jrkRfHFBk76U4e8n7Cl&oJJe!BFkMnfA5&zh4#6dA88tjZQ19', merchantId=192557599) merchant = vkcoin.VKCoin(user_id=192557599, key='8jrkRfHFBk76U4e8n7Cl&oJJe!BFkMnfA5&zh4#6dA88tjZQ19') vk = vk_session.get_api() longpoll_type = VkLongPoll(vk_session) conn = sqlite3.connect(r"all_inf.db") c = conn.cursor() sqlite3.connect(":memory:", check_same_thread=False) while True: try: @merchant.payment_handler(handler_type='longpoll') def payment_received(data): user_id = data['from_id'] amount = data['amount'] amount = int(amount) / 1000 print(f'\n Получен платёж на сумму {amount} от {user_id}'.format(amount=amount, user_id=user_id)) c.execute("SELECT balance FROM us WHERE id=%d" % user_id) bal = c.fetchone()[0] c.execute("UPDATE us SET balance=%d WHERE id=%d" % (int(bal) + amount, user_id))
from vk_bot import VkBot from vk_api import VkApi from vk_api.longpoll import VkLongPoll, VkEventType from sqlalchemy import orm import sqlalchemy from model.base import Base from model.user_to_candidate import user_to_candidate from model.photo import Photo from model.user import User from model.candidate import Candidate GROUP_TOKEN = '<GROUP-TOKEN>' DSN = 'postgresql://<DB-CONNECTION>' vk = VkApi(token=GROUP_TOKEN) long_poll = VkLongPoll(vk) db_engine = sqlalchemy.create_engine(DSN, echo=True) Base.metadata.create_all(db_engine) DBSession = orm.sessionmaker(bind=db_engine) with DBSession() as db_session: with db_session.begin(): active_bots = {} def get_bot(user_id): if user_id not in active_bots: active_bots[user_id] = VkBot(user_id, vk, db_session) return active_bots[user_id] for event in long_poll.listen():