I have the following discord button code which works well:
class ButtonView(discord.ui.View):
 def \_\_init\_\_(self, embed, answer, \*, timeout=15):
 super().\_\_init\_\_(timeout=timeout)
 self.value = None
 self.embed = embed
 self.answer = answer
 self.answered = 0
 
 async def update\_answer(self, interaction, embed, answer):
 if self.answered == 0:
 embed.add\_field(name="Answer", value=f"{answer}", inline=False)
 await interaction.response.edit\_message(embed=embed)
 else:
 for child in self.children:
 child.disabled=True
 await interaction.response.defer()

 @discord.ui.button(label="1", style=discord.ButtonStyle.red)
 async def button\_one(self, interaction: discord.Interaction, button: discord.ui.Button):
 self.value = 1
 await self.update\_answer(interaction, self.embed, self.answer)
 self.stop()

 @discord.ui.button(label="2", style=discord.ButtonStyle.blurple)
 async def button\_two(self, interaction: discord.Interaction, button: discord.ui.Button):
 self.value = 2
 for child in self.children:
 child.disabled=True
 await self.update\_answer(interaction, self.embed, self.answer)
 self.stop()
 

 @discord.ui.button(label="3", style=discord.ButtonStyle.green)
 async def button\_three(self, interaction: discord.Interaction, button: discord.ui.Button):
 self.value = 3
 for child in self.children:
 child.disabled=True
 await self.update\_answer(interaction, self.embed, self.answer)
 self.stop()

 @discord.ui.button(label="❗", style=discord.ButtonStyle.red)
 async def button\_exclamation(self, interaction: discord.Interaction, button: discord.ui.Button):
 self.value = 4
 print(f'User pressed button 4.')
 await self.update\_answer(interaction, self.embed, self.answer)
 self.answered = 1
 

However, when I press the buttons, none of them get disabled. How can I make it so that any button press causes all the buttons to get disabled?

Here is the relevant discordpy documentation:
Button

class discord.ui.Button(\*, style=, label=None, disabled=False, custom\_id=None, url=None, emoji=None, row=None)
Attributes

 custom\_id
 disabled
 emoji
 label
 style
 url
 view

Methods

 callback

 Represents a UI button.

 New in version 2.0.

 Parameters

 style (discord.ButtonStyle) – The style of the button.

 custom\_id (Optional[str]) – The ID of the button that gets received during an interaction. If this button is for a URL, it does not have a custom ID.

 url (Optional[str]) – The URL this button sends you to.

 disabled (bool) – Whether the button is disabled or not.

 label (Optional[str]) – The label of the button, if any.

 emoji (Optional[Union[PartialEmoji, Emoji, str]]) – The emoji of the button, if available.

 row (Optional[int]) – The relative row this button belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults to None, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).

 property style

 The style of the button.

 Type

 discord.ButtonStyle

 property custom\_id

 The ID of the button that gets received during an interaction.

 If this button is for a URL, it does not have a custom ID.

 Type

 Optional[str]

 property url

 The URL this button sends you to.

 Type

 Optional[str]

 property disabled

 Whether the button is disabled or not.

 Type

 bool

 property label

 The label of the button, if available.

 Type

 Optional[str]

 property emoji

 The emoji of the button, if available.

 Type

 Optional[PartialEmoji]

 await callback(interaction)

 This function is a coroutine.

 The callback associated with this UI item.

 This can be overridden by subclasses.

 Parameters

 interaction (Interaction) – The interaction that triggered this UI item.

 property view

 The underlying view for this item.

 Type

 Optional[View]

@discord.ui.button(\*, label=None, custom\_id=None, disabled=False, style=, emoji=None, row=None)

 A decorator that attaches a button to a component.

 The function being decorated should have three parameters, self representing the discord.ui.View, the discord.Interaction you receive and the discord.ui.Button being pressed.

Buttons with a URL cannot be created with this function. Consider creating a Button manually instead. This is because buttons with a URL do not have a callback associated with them since Discord does not do any processing with it.

Parameters

 label (Optional[str]) – The label of the button, if any.

 custom\_id (Optional[str]) – The ID of the button that gets received during an interaction. It is recommended not to set this parameter to prevent conflicts.

 style (ButtonStyle) – The style of the button. Defaults to ButtonStyle.grey.

 disabled (bool) – Whether the button is disabled or not. Defaults to False.

 emoji (Optional[Union[str, Emoji, PartialEmoji]]) – The emoji of the button. This can be in string form or a PartialEmoji or a full Emoji.

 row (Optional[int]) – The relative row this button belongs to. A Discord component can only have 5 rows. By default, items are arranged automatically into those 5 rows. If you’d like to control the relative positioning of the row then passing an index is advised. For example, row=1 will show up before row=2. Defaults to None, which is automatic ordering. The row number must be between 0 and 4 (i.e. zero indexed).
다음과 같은 디스코드 버튼 코드가 잘 작동합니다:class ButtonView(discord.ui.View): def \_\_init\_\_(self, embed, answer, \*, timeout=15): super().\_\_init\_\_(timeout=timeout) self.value = None self.embed = embed self.answer = answer self.answered = 0  비동기 업데이트\_answer(self, 상호작용, 임베드, 답변): if self.answered == 0: embed.add\_field(name="Answer", value=f"{answer}", inline=False) await interaction.response.edit\_message(embed=embed) else: self.children의 child에 대해 child.disabled=True await interaction.response.defer() @discord.ui.button(label="1", style=discord.ButtonStyle.red) 비동기 def button\_one(self, interaction: discord.Interaction, button: discord.ui.Button): self.value = 1 await self.update\_answer(상호작용, self.embed, self.answer) self.stop() @discord.ui.button(label="2", style=discord.ButtonStyle.blurple) 비동기 def button\_two(self, interaction: discord.Interaction, button: discord.ui.Button): self.value = 2 self.children의 child에 대해: child.disabled=True await self.update\_answer(상호작용, self.embed, self.answer) self.stop()  @discord.ui.button(label="3", style=discord.ButtonStyle.green) 비동기 def button\_three(self, interaction: discord.Interaction, button: discord.ui.Button): self.value = 3 self.children의 child에 대해: child.disabled=True await self.update\_answer(상호작용, self.embed, self.answer) self.stop() @discord.ui.button(label="❗", style=discord.ButtonStyle.red) 비동기 def button\_exclamation(self, interaction: discord.Interaction, button: discord.ui.Button): self.value = 4 print(f'사용자가 버튼 4를 눌렀습니다.') await self.update\_answer(상호작용, self.embed, self.answer) self.answered = 1 하지만 버튼을 누르면 아무 버튼도 비활성화되지 않습니다. 버튼을 누르면 모든 버튼이 비활성화되도록 만들려면 어떻게해야합니까?관련 디스코드피 문서는 다음과 같습니다:Buttonclass discord.ui.Button(\*, style=, label=None, disabled=False, custom\_id=None, url=None, 이모지=None, row=None)속성 custom\_id disabled 이모티콘 라벨 스타일 url view메서드 callback UI 버튼을 나타냅니다. 버전 2.0에 추가되었습니다. 파라미터 style (discord.ButtonStyle) - 버튼의 스타일입니다. custom\_id (옵션[str]) - 상호작용 중에 수신되는 버튼의 ID입니다. 이 버튼이 URL에 대한 버튼인 경우에는 사용자 지정 ID가 없습니다. url (선택 사항[문자열]) - 이 버튼이 전송하는 URL입니다. disabled (bool) - 버튼이 비활성화되었는지 여부입니다. label (Optional[str]) - 버튼의 레이블(있는 경우)입니다. 이모티콘 (Optional[Union[PartialEmoji, 이모티콘, str]]) - 사용 가능한 경우 버튼의 이모티콘입니다. row (Optional[int]) - 이 버튼이 속한 상대적인 행입니다. Discord 컴포넌트는 5개 행만 가질 수 있습니다. 기본적으로 항목은 이 5개의 행에 자동으로 정렬됩니다. 행의 상대적 위치를 제어하려면 인덱스를 전달하는 것이 좋습니다. 예를 들어 행=1이 행=2 앞에 표시됩니다. 기본값은 자동 정렬인 없음으로 설정됩니다. 행 번호는 0에서 4 사이여야 합니다(즉, 인덱스가 0이어야 함). 속성 스타일 버튼의 스타일입니다. 유형 discord.ButtonStyle 속성 custom\_id 상호작용 중에 수신되는 버튼의 ID입니다. 이 버튼이 URL에 대한 버튼인 경우에는 사용자 지정 ID가 없습니다. 유형 옵션[문자열] 속성 URL 이 버튼이 전송하는 URL입니다. 유형 옵션[str] 속성 비활성화 버튼이 비활성화되었는지 여부입니다. 유형 bool 속성 레이블 버튼의 레이블(사용 가능한 경우)입니다. 유형 옵션[문자열] 속성 이모티콘 버튼의 이모티콘(사용 가능한 경우)입니다. 유형 선택적[부분이모지] await callback(인터랙션) 이 함수는 코루틴입니다. 이 UI 항목과 연관된 콜백입니다. 서브클래스에 의해 재정의될 수 있습니다. 파라미터 interaction (인터랙션) - 이 UI 항목을 트리거한 인터랙션입니다. 속성 뷰 이 항목의 기본 뷰입니다. 유형 옵션[보기]@discord.ui.button(\*, label=None, custom\_id=None, disabled=False, style=, 이모티콘=None, row=None) 컴포넌트에 버튼을 붙이는 데코레이터입니다. 꾸미는 함수에는 세 개의 매개변수가 있어야 하며, 그 자체는 discord.ui.View, 수신하는 discord.Interaction, 눌리는 discord.ui.Button을 나타냅니다.이 함수에서는 URL이 있는 버튼을 만들 수 없습니다. 대신 수동으로 버튼을 만드는 것이 좋습니다. URL이 있는 버튼은 디스코드에서 아무런 처리를 하지 않기 때문에 콜백이 연결되지 않기 때문입니다.매개변수 label (Optional[str]) - 버튼의 레이블(있는 경우). custom\_id (옵션[str]) - 상호작용 중에 수신되는 버튼의 ID입니다. 충돌을 방지하려면 이 매개변수를 설정하지 않는 것이 좋습니다. 스타일 (버튼 스타일) - 버튼의 스타일입니다. 기본값은 ButtonStyle.grey입니다. disabled (bool) - 버튼이 비활성화되었는지 여부입니다. 기본값은 False입니다. 이모티콘 (선택 사항[유니온[str, 이모티콘, 부분 이모티콘]]) - 버튼의 이모티콘입니다. 다음 중 하나에 포함될 수 있습니다. 