!turnoff fix, more clear logging
This commit is contained in:
parent
2549399e53
commit
8eefc5edfe
|
@ -35,11 +35,12 @@ owm = pyowm.OWM('OpenWeather_api_key', language='ru') # Ключ OpenWeather API
|
||||||
* **!echo** — бот начинает повторять за вами, чтобы это остановить, надо написать *!echo off*
|
* **!echo** — бот начинает повторять за вами, чтобы это остановить, надо написать *!echo off*
|
||||||
* **!game *камень/ножницы/бумага/статистика*** — бот играет с вами в "Камень, ножницы, бумага" и ведет статискику игр, которую записывает в файл json
|
* **!game *камень/ножницы/бумага/статистика*** — бот играет с вами в "Камень, ножницы, бумага" и ведет статискику игр, которую записывает в файл json
|
||||||
* **!midnight** — бот будет уведомлять о каждом миднайте по Московскому времени. Введите ещё раз, чтобы отменить это
|
* **!midnight** — бот будет уведомлять о каждом миднайте по Московскому времени. Введите ещё раз, чтобы отменить это
|
||||||
|
* **!reminder *set/list/delete*** — напоминалка. С агрументом *set* бот запускает установку напоминания, с аргументом *list* отправляет вам все ваши запланированные напоминания, с аргументом *delete* запускает удаление напоминания
|
||||||
* **!debug** — бот отправляет информацию о своём состоянии
|
* **!debug** — бот отправляет информацию о своём состоянии
|
||||||
* **!debug *log*** — бот отправляет последние 10 строк из своего лога. Доступно только вам
|
* **!debug *log*** — бот отправляет последние 10 строк из своего лога. Доступно только вам
|
||||||
* **!debug *bots*** — бот отправляет информацию о обьектах бота в памяти. Доступно только вам
|
* **!debug *bots*** — бот отправляет информацию о обьектах бота в памяти. Доступно только вам
|
||||||
* **!access *all/owner*** — позволяет в беседе установить уровень доступа к командам *!midnight* и *!debug*. *all* - все могут пользоваться. *owner* - только вы. Доступно только вам
|
* **!access *all/owner*** — позволяет в беседе установить уровень доступа к командам *!midnight* и *!debug*. *all* - все могут пользоваться. *owner* - только вы. Доступно только вам
|
||||||
* **!reminder *set/list/delete*** — напоминалка. С агрументом *set* бот запускает установку напоминания, с аргументом *list* отправляет вам все ваши запланированные напоминания, с аргументом *delete* запускает удаление напоминания
|
* **!turnoff** — даёт боту команду на выключение. Доступно только вам
|
||||||
|
|
||||||
# Использованные библиотеки
|
# Использованные библиотеки
|
||||||
|
|
||||||
|
|
|
@ -359,7 +359,7 @@ class VkBot:
|
||||||
else:
|
else:
|
||||||
respond = 'Установленные напоминания:<br>'
|
respond = 'Установленные напоминания:<br>'
|
||||||
for i in users[self._CHAT_ID]['tasks']:
|
for i in users[self._CHAT_ID]['tasks']:
|
||||||
datetime_time = datetime.datetime.fromtimestamp(int(i)+10800)
|
datetime_time = datetime.datetime.fromtimestamp(int(i))
|
||||||
respond += f"<br>{datetime_time.strftime('%d.%m.%y %H:%M')} - {users[self._CHAT_ID]['tasks'][i]}"
|
respond += f"<br>{datetime_time.strftime('%d.%m.%y %H:%M')} - {users[self._CHAT_ID]['tasks'][i]}"
|
||||||
return respond
|
return respond
|
||||||
elif stage == "delete":
|
elif stage == "delete":
|
||||||
|
@ -576,7 +576,13 @@ def bots():
|
||||||
for event in MyVkLongPoll.listen(longpoll):
|
for event in MyVkLongPoll.listen(longpoll):
|
||||||
try:
|
try:
|
||||||
if event.type == VkBotEventType.MESSAGE_NEW:
|
if event.type == VkBotEventType.MESSAGE_NEW:
|
||||||
log(False, f'Новое сообщение: {event.message}')
|
if event.message.attachments:
|
||||||
|
atch = ''
|
||||||
|
for i in event.message.attachments:
|
||||||
|
atch += i['type'] + str(i[i['type']]['owner_id']) + "_" + str(i[i['type']]['id']) + " "
|
||||||
|
else:
|
||||||
|
atch = "nothing"
|
||||||
|
log(False, f'Новое сообщение: peer_id: {event.message.peer_id}, user_id: {event.message.from_id}, text: {event.message.text}, attachments: {atch}')
|
||||||
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, event.message.from_id)
|
bot[event.message.peer_id].get_message(event.message.text, event.message.from_id)
|
||||||
|
@ -585,6 +591,10 @@ def bots():
|
||||||
users[event.message.peer_id] = {"midnight": False, "tasks": {}, "await": None, "access": 1}
|
users[event.message.peer_id] = {"midnight": False, "tasks": {}, "await": None, "access": 1}
|
||||||
update_users_json(users)
|
update_users_json(users)
|
||||||
bot[event.message.peer_id].get_message(event.message.text, event.message.from_id)
|
bot[event.message.peer_id].get_message(event.message.text, event.message.from_id)
|
||||||
|
elif event.type == VkBotEventType.WALL_POST_NEW:
|
||||||
|
log(False, f"На стене группы опубликован новый пост id{event.object.id}: {event.object.text}")
|
||||||
|
else:
|
||||||
|
log(False, str(event))
|
||||||
except Exception as kek:
|
except Exception as kek:
|
||||||
err = "Беды с ботом: " + str(kek)
|
err = "Беды с ботом: " + str(kek)
|
||||||
log(True, err)
|
log(True, err)
|
||||||
|
@ -619,15 +629,14 @@ def check_tasks():
|
||||||
continue
|
continue
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
continue
|
continue
|
||||||
time.sleep(0.3)
|
time.sleep(0.3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
log(False, "Скрипт запущен, чтение users.json для восстановления обьектов ботов")
|
log(False, "Скрипт запущен, чтение users.json для восстановления обьектов ботов")
|
||||||
load_users()
|
load_users()
|
||||||
tread_bots = threading.Thread(target=bots)
|
tread_bots = threading.Thread(target=bots)
|
||||||
tread_midnight = threading.Thread(target=midnight)
|
tread_midnight = threading.Thread(target=midnight, daemon=True)
|
||||||
tread_tasks = threading.Thread(target=check_tasks)
|
tread_tasks = threading.Thread(target=check_tasks, daemon=True)
|
||||||
tread_bots.start()
|
tread_bots.start()
|
||||||
tread_midnight.start()
|
tread_midnight.start()
|
||||||
tread_tasks.start()
|
tread_tasks.start()
|
||||||
|
|
Loading…
Reference in New Issue