diff --git a/dan63047bot.py b/dan63047bot.py
index 1c0301b..60e9095 100644
--- a/dan63047bot.py
+++ b/dan63047bot.py
@@ -7,7 +7,9 @@ import pyowm
import random
import json
import asyncio
+import os
import wikipediaapi as wiki
+from collections import deque
from config import vk, owm, vk_mda, group_id, album_for_command, owner_id
from vk_api.longpoll import VkLongPoll, VkEventType
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
@@ -18,7 +20,7 @@ debug_array = {'vk_warnings': 0, 'logger_warnings': 0, 'start_time': 0, 'message
root_logger = logging.getLogger()
root_logger.setLevel(logging.INFO)
handler = logging.FileHandler('bot.log', 'w', 'utf-8')
-handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
+handler.setFormatter(logging.Formatter('[%(asctime)s][%(levelname)s] %(message)s'))
root_logger.addHandler(handler)
longpoll = VkBotLongPoll(vk, group_id)
@@ -28,7 +30,7 @@ def log(warning, text):
if warning:
logging.warning(text)
debug_array['logger_warnings'] += 1
- print("["+time.strftime("%d.%m.%Y %H:%M:%S", time.gmtime())+"][WARNING] "+text)
+ print("[" + time.strftime("%d.%m.%Y %H:%M:%S", time.gmtime()) + "][WARNING] " + text)
else:
logging.info(text)
print("[" + time.strftime("%d.%m.%Y %H:%M:%S", time.gmtime()) + "] " + text)
@@ -104,8 +106,19 @@ class VkBot:
time_sec = int(up_time) - int(time_min) * 60 - int(time_h) * 3600 - int(time_d) * 24 * 60 * 60
str_up_time = '%01d:%02d:%02d:%02d' % (time_d, time_h, time_min, time_sec)
datetime_time = datetime.datetime.fromtimestamp(debug_array['start_time'])
- return "Запуск бота: " + datetime_time.strftime('%d.%m.%Y %H:%M:%S') + " (UPTIME: " + str_up_time + ")
Получено сообщений: " + str(debug_array['messages_get']) + " (Отвечено на: " + str(debug_array['messages_answered']) + ")
Дисконнектов: " + str(debug_array['vk_warnings']) + "
Обьектов бота: " + str(len(bot)) + "
Ошибок в работе: " + str(debug_array['logger_warnings'])
-
+ answer = "UPTIME: " + str_up_time + "
Прослушано сообщений: " + str(
+ debug_array['messages_get']) + " (Отвечено на " + str(
+ debug_array['messages_answered']) + ")
Ошибок в работе: " + str(
+ debug_array['logger_warnings']) + " (Из них беды с ВК: " + str(debug_array['vk_warnings']) + ")
Обьектов бота: " + str(len(bot)) + "
Запуск бота по часам сервера: " + datetime_time.strftime('%d.%m.%Y %H:%M:%S')
+ if self._OWNER:
+ with open("bot.log", 'r') as f:
+ log = list(deque(f, 10))
+ text_log = "
Последние 10 строк из лога:
"
+ for i in range(len(log)):
+ text_log += log[i]
+ f.close()
+ answer += text_log
+ return answer
def game(self, thing):
if thing == "статистика":
@@ -244,7 +257,7 @@ class VkBot:
return answer
def random_image(self):
- group = "-"+str(group_id)
+ group = "-" + str(group_id)
random_images_query = vk_mda.method('photos.get',
{'owner_id': group, 'album_id': album_for_command, 'count': 1000})
info = "Результат метода photos.get: Получено " + str(random_images_query['count']) + " фото"
@@ -293,7 +306,7 @@ class VkBot:
elif message[0] == self._COMMANDS[2] or message[0] == self._COMMANDS[5]:
respond[
- 'text'] = "Я бот, призванный доставлять неудобства.
Команды:
!my_id - сообщит ваш id в ВК
!user_id *id* - сообщит информацию о этом пользователе
!group_id *id* - сообщит информацию о этой группе
!image - отправляет рандомную картинку из альбома
!weather *город* - отправляет текущую погоду в городе (данные из OpenWeather API)
!wiki *запрос* - отправляет информацию об этом из Wikipedia
!byn - отправляет текущий курс валют, полученный из API НБ РБ
!echo - бот отправляет вам всё, что вы ему пишите
!game *камень/ножницы/бумага/статистика* - бот будет играть с вами в \"Камень, ножницы, бумага\" и записывать статистику
!h, !help - справка
Дата последнего обновления: 04.05.2020(Внедрение дебаг функции)
Проект бота на GitHub: https://github.com/dan63047/dan63047pythonbot"
+ 'text'] = "Я бот, призванный доставлять неудобства.
Команды:
!my_id - сообщит ваш id в ВК
!user_id *id* - сообщит информацию о этом пользователе
!group_id *id* - сообщит информацию о этой группе
!image - отправляет рандомную картинку из альбома
!weather *город* - отправляет текущую погоду в городе (данные из OpenWeather API)
!wiki *запрос* - отправляет информацию об этом из Wikipedia
!byn - отправляет текущий курс валют, полученный из API НБ РБ
!echo - бот отправляет вам всё, что вы ему пишите
!game *камень/ножницы/бумага/статистика* - бот будет играть с вами в \"Камень, ножницы, бумага\" и записывать статистику
!h, !help - справка
Дата последнего обновления: 06.05.2020 (Обновление дебаг функции)
Проект бота на GitHub: https://github.com/dan63047/dan63047pythonbot"
elif message[0] == self._COMMANDS[3]:
try: