some updates
This commit is contained in:
parent
34f52897c8
commit
0fef853369
|
@ -94,19 +94,20 @@ class VkBot:
|
||||||
log(False, f"Создан объект бота! id{peer_id}")
|
log(False, f"Создан объект бота! id{peer_id}")
|
||||||
self._CHAT_ID = peer_id
|
self._CHAT_ID = peer_id
|
||||||
self._ECHO_MODE = False
|
self._ECHO_MODE = False
|
||||||
|
self._ACCESS_LEVEL = 1
|
||||||
|
|
||||||
if midnight:
|
if midnight:
|
||||||
self._MIDNIGHT_EVENT = True
|
self._MIDNIGHT_EVENT = True
|
||||||
else:
|
else:
|
||||||
self._MIDNIGHT_EVENT = False
|
self._MIDNIGHT_EVENT = False
|
||||||
|
|
||||||
if self._CHAT_ID == owner_id:
|
if int(self._CHAT_ID) == int(owner_id):
|
||||||
self._OWNER = True
|
self._OWNER = True
|
||||||
else:
|
else:
|
||||||
self._OWNER = False
|
self._OWNER = False
|
||||||
|
|
||||||
self._COMMANDS = ["!image", "!my_id", "!h", "!user_id", "!group_id", "!help", "!weather", "!wiki", "!byn",
|
self._COMMANDS = ["!image", "!my_id", "!h", "!user_id", "!group_id", "!help", "!weather", "!wiki", "!byn",
|
||||||
"!echo", "!game", "!debug", "!midnight"]
|
"!echo", "!game", "!debug", "!midnight", "!access"]
|
||||||
|
|
||||||
def event(self, event):
|
def event(self, event):
|
||||||
if event == "midnight" and self._MIDNIGHT_EVENT:
|
if event == "midnight" and self._MIDNIGHT_EVENT:
|
||||||
|
@ -124,16 +125,18 @@ class VkBot:
|
||||||
"последний эпизод \"Group Therapy\" от Above & Beyond"]
|
"последний эпизод \"Group Therapy\" от Above & Beyond"]
|
||||||
|
|
||||||
midnight_output = random.choice(midnight_text) + "<br>" + f"Наступило {current_time.strftime('%d.%m.%Y')}<br><br>"
|
midnight_output = random.choice(midnight_text) + "<br>" + f"Наступило {current_time.strftime('%d.%m.%Y')}<br><br>"
|
||||||
random_thing = random.randint(0, 1)
|
random_thing = random.randint(0, 2)
|
||||||
if random_thing:
|
if random_thing == 0:
|
||||||
midnight_output += random.choice(midnight_after)
|
midnight_output += random.choice(midnight_after)
|
||||||
else:
|
elif random_thing == 1:
|
||||||
midnight_output += random.choice(midnight_pre_check_it) + " " + random.choice(midnight_check_it)
|
midnight_output += random.choice(midnight_pre_check_it) + " " + random.choice(midnight_check_it)
|
||||||
|
elif random_thing == 2:
|
||||||
|
midnight_output += "Цвет дня в формате HEX: #%02x%02x%02x" % (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
|
||||||
|
|
||||||
self.send(midnight_output)
|
self.send(midnight_output)
|
||||||
log(False, f"Бот id{self._CHAT_ID} оповестил о миднайте")
|
log(False, f"Бот id{self._CHAT_ID} оповестил о миднайте")
|
||||||
|
|
||||||
def get_message(self, message):
|
def get_message(self, message, user_id):
|
||||||
if self._ECHO_MODE:
|
if self._ECHO_MODE:
|
||||||
if message == "!echo off":
|
if message == "!echo off":
|
||||||
self.send(message)
|
self.send(message)
|
||||||
|
@ -200,22 +203,44 @@ class VkBot:
|
||||||
respond['text'] = "Отсуствует аргумент"
|
respond['text'] = "Отсуствует аргумент"
|
||||||
|
|
||||||
elif message[0] == self._COMMANDS[11]:
|
elif message[0] == self._COMMANDS[11]:
|
||||||
try:
|
if self._ACCESS_LEVEL or int(user_id) == int(owner_id):
|
||||||
respond['text'] = self.debug(message[1])
|
try:
|
||||||
except IndexError:
|
respond['text'] = self.debug(message[1])
|
||||||
respond['text'] = self.debug()
|
except IndexError:
|
||||||
|
respond['text'] = self.debug()
|
||||||
|
else:
|
||||||
|
respond["text"] = "Отказано в доступе"
|
||||||
|
|
||||||
elif message[0] == self._COMMANDS[12]:
|
elif message[0] == self._COMMANDS[12]:
|
||||||
if self._MIDNIGHT_EVENT:
|
if self._ACCESS_LEVEL or int(user_id) == int(owner_id):
|
||||||
self._MIDNIGHT_EVENT = False
|
if self._MIDNIGHT_EVENT:
|
||||||
self.send("Уведомление о миднайте выключено")
|
self._MIDNIGHT_EVENT = False
|
||||||
log(False, f"Бот id{self._CHAT_ID}: Юзер отписался от ивента \"Миднайт\"")
|
self.send("Уведомление о миднайте выключено")
|
||||||
|
log(False, f"Бот id{self._CHAT_ID}: Юзер отписался от ивента \"Миднайт\"")
|
||||||
|
else:
|
||||||
|
self._MIDNIGHT_EVENT = True
|
||||||
|
self.send("Бот будет уведомлять вас о каждом миднайте")
|
||||||
|
log(False, f"Бот id{self._CHAT_ID}: Юзер подписался на ивент \"Миднайт\"")
|
||||||
|
users[self._CHAT_ID]["midnight"] = self._MIDNIGHT_EVENT
|
||||||
|
update_users_json(users)
|
||||||
else:
|
else:
|
||||||
self._MIDNIGHT_EVENT = True
|
respond['text'] = "Отказано в доступе"
|
||||||
self.send("Бот будет уведомлять вас о каждом миднайте")
|
|
||||||
log(False, f"Бот id{self._CHAT_ID}: Юзер подписался на ивент \"Миднайт\"")
|
elif message[0] == self._COMMANDS[13]:
|
||||||
users[self._CHAT_ID]["midnight"] = self._MIDNIGHT_EVENT
|
if int(user_id) == int(owner_id):
|
||||||
update_users_json(users)
|
try:
|
||||||
|
if message[1] == "owner":
|
||||||
|
respond['text'] = "Теперь некоторыми командами может пользоваться только владелец бота"
|
||||||
|
self._ACCESS_LEVEL = 0
|
||||||
|
elif message[1] == "all":
|
||||||
|
respond['text'] = "Теперь все могут пользоваться всеми командами"
|
||||||
|
self._ACCESS_LEVEL = 1
|
||||||
|
else:
|
||||||
|
respond['text'] = "Некорректный аргумент"
|
||||||
|
except IndexError:
|
||||||
|
respond['text'] = "Отсуствует аргумент"
|
||||||
|
else:
|
||||||
|
respond['text'] = "Отказано в доступе"
|
||||||
|
|
||||||
if respond['text'] or respond['attachment']:
|
if respond['text'] or respond['attachment']:
|
||||||
self.send(respond['text'], respond['attachment'])
|
self.send(respond['text'], respond['attachment'])
|
||||||
|
@ -438,12 +463,12 @@ def bots():
|
||||||
log(False, f'Новое сообщение: {event.message}')
|
log(False, f'Новое сообщение: {event.message}')
|
||||||
debug_array['messages_get'] += 1
|
debug_array['messages_get'] += 1
|
||||||
if int(event.message.peer_id) in bot:
|
if int(event.message.peer_id) in bot:
|
||||||
bot[event.message.peer_id].get_message(event.message.text)
|
bot[event.message.peer_id].get_message(event.message.text, event.message.from_id)
|
||||||
else:
|
else:
|
||||||
bot[event.message.peer_id] = VkBot(event.message.peer_id)
|
bot[event.message.peer_id] = VkBot(event.message.peer_id)
|
||||||
users[event.message.peer_id] = {"midnight": False}
|
users[event.message.peer_id] = {"midnight": False}
|
||||||
update_users_json(users)
|
update_users_json(users)
|
||||||
bot[event.message.peer_id].get_message(event.message.text)
|
bot[event.message.peer_id].get_message(event.message.text, event.message.from_id)
|
||||||
except Exception as kek:
|
except Exception as kek:
|
||||||
err = "Беды с ботом: " + str(kek)
|
err = "Беды с ботом: " + str(kek)
|
||||||
log(True, err)
|
log(True, err)
|
||||||
|
|
Loading…
Reference in New Issue