В моем коде бот дублирует сообщение ( последнее из hello_world ) и не производится то, что в thread ( def bump ). Бот на callback API
Сам код:
import vk
import threading
import time
session = vk.Session()
api = vk.API(session, v = 5.8)
admin = '296223969'
token_group = 'токен'
token_clever = 'токен'
token_clever_2 = 'токен'
token_clever_3 = 'токен'
token_clever_4 = 'токен'
token_clever_5 = 'токен'
token_clever_6 = 'токен'
token_clever_7 = 'токен'
app = Flask(__name__)
@app.route('/', methods = ['POST'])
def hello_world():
r = request.data
data = json.loads(r)
if 'type' not in data:
return 'non vk request'
if data['type'] == 'confirmation':
return 'b19541bb'
elif data['type'] == 'message_new':
if 'geo' in data['object']:
point_latitude = data['object']['geo']['coordinates']['latitude']
point_longitude = data['object']['geo']['coordinates']['longitude']
place_city = data['object']['geo']['place']['city']
user = data['object']['from_id']
api.messages.send(access_token = token_group, user_id = user, message = 'Эй, человек из города '+str(place_city)+ ' , не желаешь бампнуться? Бегом в Клевер! Координаты: '+str(point_latitude)+' ' +str(point_longitude))
def bump(n):
api.messages.send(access_token = token_group, user_id = data['object']['from_id'], message = 'Бампнимся через 7 секунд')
time.sleep(n)
api.messages.send(access_token = token_group, user_id =user, message ='Тряси пи... Телефон!!!')
apii = CleverApi(token_clever)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_2)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_3)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_4)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_5)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_6)
apii.bump(point_latitude, point_longitude)
apii = CleverApi(token_clever_7)
apii.bump(point_latitude, point_longitude)
api.messages.send(access_token = token_group, user_id = user, message = 'Мм, а ты хорош.')
t = threading.Thread(target=bump, name='Thread1', args=(7))
t.start()
return 'ok'
Ошибка в настройках группы: Error: HTTP response code said error.