- 705
- 188
Python:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
vktoken = 'ага, хуй тебе'
vk_session = vk_api.VkApi(token = vktoken)
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
'''
class User:
def __init__(self, city, money, people):
self.city = city
self.money = money
self.people = people
'''
data = {}
def add_bd(user_id):
file = open('data.txt', 'a', encoding = 'utf-8')
file.write(f'{user_id}\n')
data.append({
user_id: {'city': None, 'money': 0},
})
file.close()
def povtor_bd(x):
file = open('data.txt', 'r', encoding = 'utf-8')
if str(x) in file.read():
return 1
else:
return 0
##city = None
##user = User(None, 0, 0)
strana = False
def send(id, text, keyboard=None):
post = {
'user_id' : id,
'message' : text,
'random_id' : 0,
##'keyboard' : keyboard.get_keyboard
}
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
id = event.user_id
if msg == '!начать':
##send(id, '📋 | Привет, это Political Bot. Ты можешь создать свою страну и в дальнейшем управлять ею. Ты можешь: начинать войну за города, создавать свои войска, открывать новые города и так далее.')
keyboard = VkKeyboard(one_time=True)
keyboard.add_button('🚩Создать страну', VkKeyboardColor.PRIMARY)
send(id, '📋 | Привет, это Political Bot. Ты можешь создать свою страну и в дальнейшем управлять ею. Ты можешь: начинать войну за города, создавать свои войска, открывать новые города и так далее. Ниже у тебя появилась клавиатура, используй её для выполнения каких-то действий.', keyboard)
if povtor_bd(id) == 0:
add_bd(id)
## КОМАНДЫ
##if user.city != None:
if msg in ['⬅ Главное меню', '!меню']:
##if user.city != None:
keyboard = VkKeyboard(one_time=False)
keyboard.add_button('🤖 Информация о боте', VkKeyboardColor.PRIMARY)
keyboard.add_line()
keyboard.add_button('🚩 Управление страной', VkKeyboardColor.PRIMARY)
keyboard.add_button('💲 Казна страны', VkKeyboardColor.PRIMARY)
keyboard.add_line()
keyboard.add_button('📋 Статистика страны', VkKeyboardColor.PRIMARY)
keyboard.add_button('🏙 Города страны', VkKeyboardColor.PRIMARY)
keyboard.add_line()
keyboard.add_button('🏪 Магазин улучшений/плюшек', VkKeyboardColor.PRIMARY)
send(id, 'Вы попали в главное меню', keyboard)
##else:
##send(id, '❌ | Создайте страну! (!начать)')
##if msg in ['💲 Казна страны', '!казна']:
##send(id, f'💲 Казна страны {user.city} составляет: {user.money} коинов.')
if msg == '🚩Создать страну':
for i in range(len(data)):
if data[str(id)]['city'] == None and id == data[i]:
send(id, 'Введите название вашей страны:')
strana = True
else:
send(id, 'У вас уже есть страна!')
if strana:
if msg != '🚩Создать страну':
data[str(id)]['city'] = msg
keyboard = VkKeyboard(one_time=False)
keyboard.add_button('⬅ Главное меню', VkKeyboardColor.NEGATIVE)
send(id, f'Вы создали страну: {data.city}', keyboard)
strana = False
Крч, есть код для бота вк. Когда создаёшь страну, то ты должен добавиться в блокнот, тем самым быть в мини-базе данных. Я делаю проверку на наличие страны, но после сообщения ничего не вылазит. В чём проблема? (прошу не осбирайте за говнокод, я первый раз пишу бота на питоне)