Боты не добавляются в БД.
This commit is contained in:
parent
ed82166bdc
commit
2333e05f28
1 changed files with 12 additions and 5 deletions
17
bot.py
17
bot.py
|
|
@ -7,7 +7,6 @@ from vkbottle.bot import Bot, Message
|
||||||
import config
|
import config
|
||||||
from config import db_load, db_save, db_print
|
from config import db_load, db_save, db_print
|
||||||
|
|
||||||
|
|
||||||
db_load()
|
db_load()
|
||||||
db_save()
|
db_save()
|
||||||
bot = Bot(config.DB['api_token'])
|
bot = Bot(config.DB['api_token'])
|
||||||
|
|
@ -39,6 +38,8 @@ async def stats_handler(message: Message):
|
||||||
chat_members = await bot.api.messages.get_conversation_members(peer_id=message.peer_id, extended=False)
|
chat_members = await bot.api.messages.get_conversation_members(peer_id=message.peer_id, extended=False)
|
||||||
|
|
||||||
for member in chat_members.items:
|
for member in chat_members.items:
|
||||||
|
if member.member_id < 0:
|
||||||
|
continue
|
||||||
member_id = str(member.member_id)
|
member_id = str(member.member_id)
|
||||||
if member_id not in config.DB['chats'][chat_id]['users']:
|
if member_id not in config.DB['chats'][chat_id]['users']:
|
||||||
config.DB['chats'][chat_id]['users'][member_id] = {
|
config.DB['chats'][chat_id]['users'][member_id] = {
|
||||||
|
|
@ -68,7 +69,7 @@ async def stats_handler(message: Message):
|
||||||
if top[i]['messages_today'] == 0:
|
if top[i]['messages_today'] == 0:
|
||||||
break
|
break
|
||||||
info = await get_user_info(top[i]['id'])
|
info = await get_user_info(top[i]['id'])
|
||||||
response += '{}. {} {} - {}\n'.format(i+1, info.first_name, info.last_name, top[i]['messages_today'])
|
response += '{}. {} {} - {}\n'.format(i + 1, info.first_name, info.last_name, top[i]['messages_today'])
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
top = sorted(chat_users, key=lambda item: item['messages_month'], reverse=True)
|
top = sorted(chat_users, key=lambda item: item['messages_month'], reverse=True)
|
||||||
|
|
@ -78,7 +79,7 @@ async def stats_handler(message: Message):
|
||||||
if top[i]['messages_month'] == 0:
|
if top[i]['messages_month'] == 0:
|
||||||
break
|
break
|
||||||
info = await get_user_info(top[i]['id'])
|
info = await get_user_info(top[i]['id'])
|
||||||
response += '{}. {} {} - {}\n'.format(i+1, info.first_name, info.last_name, top[i]['messages_month'])
|
response += '{}. {} {} - {}\n'.format(i + 1, info.first_name, info.last_name, top[i]['messages_month'])
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
await message.answer(response)
|
await message.answer(response)
|
||||||
|
|
@ -90,7 +91,8 @@ async def silent_handler(message: Message):
|
||||||
|
|
||||||
chat_users = []
|
chat_users = []
|
||||||
for user_id in config.DB['chats'][chat_id]['users'].keys():
|
for user_id in config.DB['chats'][chat_id]['users'].keys():
|
||||||
flat_user = {**{'id': user_id}, **{'last_message': config.DB['chats'][chat_id]['users'][user_id]['last_message']}}
|
flat_user = {**{'id': user_id},
|
||||||
|
**{'last_message': config.DB['chats'][chat_id]['users'][user_id]['last_message']}}
|
||||||
chat_users.append(flat_user)
|
chat_users.append(flat_user)
|
||||||
top = sorted(chat_users, key=lambda item: item['last_message'])
|
top = sorted(chat_users, key=lambda item: item['last_message'])
|
||||||
|
|
||||||
|
|
@ -100,19 +102,24 @@ async def silent_handler(message: Message):
|
||||||
for i in range(0, len(top)):
|
for i in range(0, len(top)):
|
||||||
if top[i]['last_message'] == 0:
|
if top[i]['last_message'] == 0:
|
||||||
info = await get_user_info(top[i]['id'])
|
info = await get_user_info(top[i]['id'])
|
||||||
|
if info is None:
|
||||||
|
continue
|
||||||
response += '{}. {} {} - никогда\n'.format(i + 1, info.first_name, info.last_name)
|
response += '{}. {} {} - никогда\n'.format(i + 1, info.first_name, info.last_name)
|
||||||
else:
|
else:
|
||||||
days_silent = round((now - top[i]['last_message']) / 3600 / 24)
|
days_silent = round((now - top[i]['last_message']) / 3600 / 24)
|
||||||
if days_silent < 14:
|
if days_silent < 14:
|
||||||
break
|
break
|
||||||
info = await get_user_info(top[i]['id'])
|
info = await get_user_info(top[i]['id'])
|
||||||
response += '{}. {} {} - {} дней\n'.format(i+1, info.first_name, info.last_name, days_silent)
|
response += '{}. {} {} - {} дней\n'.format(i + 1, info.first_name, info.last_name, days_silent)
|
||||||
|
|
||||||
await message.answer(response)
|
await message.answer(response)
|
||||||
|
|
||||||
|
|
||||||
@bot.on.chat_message()
|
@bot.on.chat_message()
|
||||||
async def any_message_handler(message: Message):
|
async def any_message_handler(message: Message):
|
||||||
|
if message.from_id < 0:
|
||||||
|
return
|
||||||
|
|
||||||
chat_id = str(message.peer_id)
|
chat_id = str(message.peer_id)
|
||||||
user_id = str(message.from_id)
|
user_id = str(message.from_id)
|
||||||
if chat_id not in config.DB['chats']:
|
if chat_id not in config.DB['chats']:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue