Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.04.2023
Сообщений: 6
Discord Bot

Чем заменить метод flatten(), когда его удалили

07.05.2023, 22:18. Показов 520. Ответов 3

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import discord
from discord.ext import commands
import datetime
import asyncio
 
@client.command()
async def giveaway(ctx):
    await ctx.send("Начнём розыгрыш! Ответь на эти вопросы в пределах 15 секунд")
 
    questions = ["В каком канале он будет?", "Какая длительность розыгрыша?(сек|мин|час|день)", "Приз розыгрыша?"]
    answers = []
 
    def check(m):
        return m.author == ctx.author and m.channel == ctx.channel
 
    for i in questions:
        await ctx.send(i)
 
        try:
            msg = await client.wait_for('message', timeout=15.0, check=check)
        except asyncio.TimeoutError:
            await ctx.send('Ты не успел, в следующий раз вводи ответы быстрее')
            return
        else:
            answers.append(msg.content)
 
    try:
        c_id = int(answers[0][2:-1])
    except:
        await ctx.send(f'Ты неправильно отметил канал. Сделай по примеру этого в следующий раз: {ctx.channel.mention} ')
        return
    channel = client.get_channel(c_id)
 
    time = convert(answers[1])
    if time == -1:
        await ctx.send(f'Ты неправильно отметил время. Сделай по шаблону: (сек|мин|час|день)')
        return
    elif time == -2:
        await ctx.send("Время должно быть целочисленным. Например: 10с 1м")
        return
    prize = answers[2]
 
    await ctx.send(f"Розыгрыш будет в {channel.mention} и кончится в {answers[1]}!")
 
    embed = discord.Embed(title = "Розыгрыш!", description=f"{prize}", color= discord.Color.dark_purple())
    embed.add_field(name = "Основан:", value = ctx.author.mention)
    embed.set_footer(text = f'Заканчивается {answers[1]} от данного момента!')
    my_msg = await channel.send(embed = embed)
 
    await my_msg.add_reaction('\:tada:')
 
    await asyncio.sleep(time)
 
    new_msg = await channel.fetch_message(my_msg.id)
 
    users = await  new_msg.reactions[0].users().flatten()
    users.pop(users.index(client.user))
 
    winner = random.choice(users)
 
    await channel.send(f"Поздравляю! {winner.mention} выиграл {prize}")
def convert(time):
    pos = ["с", "м", "ч", "д"]
    time_dict = {"с": 1, "м" : 60, "ч" : 3600, "д" : 3600*24}
    unit = time[-1]
    if unit not in pos:
        return -1
    try:
        val = int(time[:-1])
    except:
        return -2
 
    return val * time_dict[unit]
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2023, 22:18
Ответы с готовыми решениями:

Метод getPreventDefault() является устаревшим. Для его замены используйте метод defaultPrevented. В чем причина этой ошибки?
Здравствуйте) Обращаюсь к вам за помощью: при выборе элемента из списка <select>, (то есть по событию change()) должен отправиться...

О том, почему нелюбим goto; как его правильно использовать; и чем в моем случае его можно заменить?
Вот есть такой оператор всеми программистами нелюбимый. Goto называется. Говорят, что его использование всегда можно обойти и...

Чем заменить метод Any() в .NET 2.0?
Всем привет. Как или чем можно заменить метод any() в framework 2.0 ибо он доступен только с 3.5 Допустим такая строка ...

3
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
08.05.2023, 19:41
https://discordpy.readthedocs.... ht=flatten
Python
1
2
3
4
5
# before
users = await reaction.users().flatten()
 
# after
users = [user async for user in reaction.users()]
0
0 / 0 / 0
Регистрация: 01.04.2023
Сообщений: 6
08.05.2023, 20:32  [ТС]
discord.ext.commands.errors.CommandInvok eError: Command raised an exception: NameError: name 'reaction' is not defined

Добавлено через 26 секунд
не работает
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
09.05.2023, 14:19
А Вы что один в один скопировали? Этот код для примера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2023, 14:19
Помогаю со студенческими работами здесь

Чем заменить метод ToString() в структуре?
Есть у меня программа которую нужно немного переделать, а именно строку "public override string ToString()". Нужно убрать override из...

Чем заменить метод Operators.CompareString?
Всем привет, хочу узнать чем можно заменить из Framework 4.5 на Framework 2.0 Кусок кода: if...

метод get и с чем его кушать?
Доброе время суток, я в JavaScript совсем новичёк, ещё толком не разобрался как и что работает.. Я создал свой сайт, с базой данных,...

Чем заменить флешь и его будущее
Привет всем, форумчане и просто гости! 1. Надо сделать анимацию на странице, чтобы молнии ударили в шар и по всему экрану появился огонь,...

Multiprocessing или чем его можно заменить?
здравствуйте, я решил написать свой таймер и немного заморочиться, а именно добавить звук. По задумке он должен пищать до тех пор, пока не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru