async def command(ctx, a: str, b: str, c:str)
!command раз два три
a, b, c == "раз", "два", "три"
async def command(ctx, a: str, b: str)
!command "раз два" три
a, b == "раз два", "три"
async def command(ctx, a: str, *b: str)
!command раз два три
a, b == "раз", ("два", "три")
async def command(ctx, a: str, *, b: str)
!command раз два три
a, b == "раз", "два три"
>>> a = -100
>>> b = -100
>>> a is b
False
>>> a = 100
>>> b = 100
>>> a is b
True
import discord
from discord.ext import commands
client=commands.Bot(command_prefix=".")
class Buttons(discord.ui.View): # класс описывает набор кнопок
def __init__(self, *, timeout=180): # конструктор класса
super().__init__(timeout=timeout)
# этому методу будет сопоставлена кнопка. По клику метод будет вызван.
@discord.ui.button(label="Button",style=discord.ButtonStyle.gray)
async def gray_button(self,button:discord.ui.Button,interaction:discord.Interaction):
# ищи сведения об объекте discord.Interaction, чтобы понять, что ещё можно сделать в обработчике кнопки.
await interaction.response.edit_message(content=f"This is an edited button response!")
# альтернативно, тут ты можешь вызывать требуемые тебе методы и вообще делать что нужно
@client.command()
async def button(ctx): # по команде !button отсылается сообщение с кнопками
await ctx.send(
"This message has buttons!", # текст сообщения как обычно
view=Buttons() # создаём экземпляр класса Buttons и прикрепляем его
)
token=""
client.run(token) # запуск бота
import discord
from discord.ext import commands
client=commands.Bot(command_prefix=".")
class Buttons(discord.ui.View): # класс описывает набор кнопок
def __init__(self, *, timeout=180): # конструктор класса
super().__init__(timeout=timeout)
# этому методу будет сопоставлена кнопка. По клику метод будет вызван.
@discord.ui.button(label="Button",style=discord.ButtonStyle.gray)
async def gray_button(self,button:discord.ui.Button,interaction:discord.Interaction):
# ищи сведения об объекте discord.Interaction, чтобы понять, что ещё можно сделать в обработчике кнопки.
await interaction.response.edit_message(content=f"This is an edited button response!")
# альтернативно, тут ты можешь вызывать требуемые тебе методы и вообще делать что нужно
@client.command()
async def button(ctx): # по команде !button отсылается сообщение с кнопками
await ctx.send(
"This message has buttons!", # текст сообщения как обычно
view=Buttons() # создаём экземпляр класса Buttons и прикрепляем его
)
token=""
client.run(token) # запуск бота
field = [ ['_'] * 3, ['_'] * 3, ['_'] * 3 ]
for i in len(field): # перебираем элементы поля
values = { field[i][c] for c in len(field[i]) } # собираем символы i-й строки в _множество_
if len(values) == 1 and '_' not in values: # есть строка из одинаковых символов, но не из "_"
return field[i][0] # возвращаем символ-победитель
values = { field[r][i] for r in len(field) } # собираем символы i-го столбца
if len(values) == 1 and '_' not in values: # есть столбец из одинаковых символов, но не из "_"
return field[0][i] # возвращаем символ-победитель
image[Y:Y+H, X:X+W] = new_content