Lolik666
@Lolik666
Лох педальный, профессиональный

Как сделать так, чтобы бот считал сообщения различных пользователей и выводил их отдельно?

Вобщем, такая фигня что бот считает количество сообщений ото всех пользователей, а нужно чтобы от каждого, но раздельно, как это сделать??
@client.event
async def on_message(message):

    if message.author == client.user:
    	return
   
    else:
    	global counter
    	counter +=1
    	print('Message from {0.author}: {0.content}'.format(message))
    	user = message.author
    	msg = message.content
    	print(user, msg)

Вот код, если поможет
Заранее весм спасибо
  • Вопрос задан
  • 326 просмотров
Пригласить эксперта
Ответы на вопрос 2
@anerev
Я бы создал сначала словарь name : messages, после чего проверял бы в цикле for есть ли name в словаре, если нет то создавать, а если есть то к количеству значений прибавлять, а со словарём уже можно как угодно работать
Ответ написан
Использовать Counter из стандартной библиотеки collections: https://docs.python.org/3/library/collections.html...

from collections import Counter

...

msg_count = Counter()

@client.event
async def on_message(msg):
    if msg.author == client.user:
        return
    global msg_count
    msg_count[msg.author.id] += 1
    print(f"Message by {msg.author}: {msg.content}")

...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект