示例#1
0
        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)
示例#2
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)
示例#3
0
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)
示例#4
0
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)
示例#5
0
 def __init__(self, access_token):
     self.vk = vk_api.VkApi(token=access_token)
     self.longpoll = VkLongPoll(self.vk)
示例#6
0
    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:
示例#7
0
文件: __main__.py 项目: AudioMask/Bot
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','====================================')
示例#8
0
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))
示例#9
0
文件: main.py 项目: kerainka/VKinder
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():