Web developer / designer
-
Автор темы
- #1
Сначала была цель сделать нереального бота, но потом у меня пропало желание и осталось то, что осталось.
Извините за говнокод *(
Из идей могу подкинуть парочку:
1) Подключить бд к проекту, чтобы каждый пользователь мог зайти под своим акком через куки и юзерагент
2) Добавить рассылку ( там уже была заготовка) про новые посты из определённого треда
Дальше уже сами, делайте, что вашей душе угодно.
Извините за говнокод *(
Из идей могу подкинуть парочку:
1) Подключить бд к проекту, чтобы каждый пользователь мог зайти под своим акком через куки и юзерагент
2) Добавить рассылку ( там уже была заготовка) про новые посты из определённого треда
Дальше уже сами, делайте, что вашей душе угодно.
Python:
import vk_api
import threading
import random
from vk_api.longpoll import VkLongPoll, VkEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
from pyyouapi import youapi
vk_session = vk_api.VkApi(token = "ТУТ ТОКЕН ОТ ГРУППЫ")
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
cookie = "ТУТ КУКИ ОТ АККА ЮГЕЙМА"
useragent = "ТУТ ДАННЫЕ ЮЗЕРАГЕНТА"
client = youapi.Api(cookie, useragent)
thread_id = 661 # айди треда (в дальнейшем можно будет у юзера запрашивать)
uid = ""
time1 = ""
info = ""
def refresh():
global uid, time1, info
uid = client.getThreads(thread_id,1)[1]['href'].split('/')[2]
time1 = client.getThreadInfo(uid)["time"]
info = f"==================\nПоследняя тема в разделе исходники:{client.getThreads(thread_id,1)[1]['title']}Создатель: {client.getThreads(thread_id,1)[1]['creator']}\nДата создания: {time1}\nСсылка: yougame.bz{client.getThreads(thread_id,1)[1]['href']}\n=================="
print("UPDATE")
threading.Timer(5,refresh).start()
refresh()
def sender(id, text, keyboard = None):
post = {
"peer_id": id,
"message": text,
"random_id": random.randint(0,2**32),
}
if keyboard != None:
post["keyboard"] = keyboard.get_keyboard()
else:
post = post
vk_session.method("messages.send", post)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg = event.text.lower()
id = event.user_id
if msg == "/lp":
keyboard = VkKeyboard(inline=True)
keyboard.add_button("LIKE",VkKeyboardColor.POSITIVE)
keyboard.add_button("DISLIKE",VkKeyboardColor.NEGATIVE)
keyboard.add_button("COMMENT",VkKeyboardColor.SECONDARY)
sender(id,info,keyboard)
elif msg == "like":
client.likePost(client.getPosts(uid,1)[0]['post_id'],1)
sender(id,"Лайк был поставлен!")
elif msg == "dislike":
client.likePost(client.getPosts(uid, 1)[0]['post_id'], 6)
sender(id, "Дизлайк был поставлен!")
elif msg == "comment":
keyboard = VkKeyboard(inline=True)
keyboard.add_button("good release",VkKeyboardColor.POSITIVE)
keyboard.add_button("stop sh1t posting",VkKeyboardColor.NEGATIVE)
keyboard.add_button("fix brain",VkKeyboardColor.SECONDARY)
sender(id,"Какой комментарий оставить?!",keyboard)
elif msg == "good release":
client.createPost(uid,"good release")
sender(id,"Комметарий оставлен!")
elif msg == "stop sh1t posting":
client.createPost(uid,"stop sh1t posting")
sender(id, "Комметарий оставлен!")
elif msg == "fix brain":
client.createPost(uid,"fix brain")
sender(id, "Комметарий оставлен!")
elif msg == "/help":
keyboard = VkKeyboard(one_time=True)
buttons = ["/lp","/np"]
buttonscol = [VkKeyboardColor.PRIMARY,VkKeyboardColor.SECONDARY,VkKeyboardColor.POSITIVE]
for btn in buttons:
keyboard.add_button(btn, buttonscol[2])
sender(id,"Commands:\n/lp - Source thread last post\n/np -Sub for new posts", keyboard)
Вложения
-
14.2 KB Просмотры: 167