import discord
import re
from datetime import datetime, timedelta
client = discord.Client()
# Токен для подключения к Discord
TOKEN = 'ваш токен'
# Дата начала отсчета недели
start_date = datetime.now().date() - timedelta(days=datetime.now().weekday())
# Переменная для хранения максимального числа
max_number = 0
@client.event
async def on_ready():
print('Бот подключился к Discord')
@client.event
async def on_message(message):
global max_number
# Проверяем, что сообщение отправлено не ботом
if message.author == client.user:
return
# Удаляем из сообщения все, кроме цифр и "да" или "нет"
message_text = re.sub('[^0-9даynetДАНЕТ]', '', message.content.lower())
# Проверяем, есть ли в сообщении число и является ли оно больше 100
if any(char.isdigit() for char in message_text):
number = int(re.findall('\d+', message_text)[0])
if number > 100:
# Отправляем сообщение с запросом подтверждения действия у пользователя
confirmation_message = await message.channel.send(f'Вы уверены, что готовы потратить {number} рублей? (да/нет)')
confirmation = await client.wait_for('message', timeout=30.0, check=lambda m: m.author == message.author and m.channel == message.channel)
if confirmation.content.lower() != 'да':
return
# Проверяем, является ли сообщение ответом "да" или "нет"
if message_text in ['да', 'нет']:
# Добавляем значение числа в переменную max_number
max_number = max(max_number, number)
await message.channel.send(f'Максимальное число на этой неделе: {max_number}')
# Проверяем, прошла ли неделя, и сбрасываем максимальное значение числа
if datetime.now().date() - timedelta(days=datetime.now().weekday()) > start_date:
start_date = datetime.now().date() - timedelta(days=datetime.now().weekday())
max_number = 0
client.run(TOKEN)