ServerQuerier ждет от вас что вы передадите ему аргумент address в виде кортежа('ip', port).from valve.source.a2s import *
address = ('212.22.85.2', 27015)
with ServerQuerier(address, timeout=5.0) as server:
    print(server.info()["server_name"])
>> PostBellum HL2 RP | Русский Half-Life 2 Roleplaypip install python-a2s более свежий и более легковесный пакет для этих целей.import a2s
address = ('37.18.21.235', 27022)
print(a2s.info(address, timeout=4))file1 = drive.CreateFile()
file1.Upload()
# Insert the permission.
permission = file1.InsertPermission({
                        'type': 'anyone',
                        'value': 'anyone',
                        'role': 'reader'})
print(file1['alternateLink'])  # Display the sharable link.      %f принимает значение от 1 до 6 символов, и это та причина, по которой вы получаете ошибку.datetime.strptime("2022-04-27T19:39:14.856697+03:00", "%Y-%m-%dT%H:%M:%S.%f%z")
>> 2022-04-27 19:39:14.856970+03:00datetime.strptime("2022-04-27T19:39:14.856697Z", "%Y-%m-%dT%H:%M:%S.%f%z")
>> 2022-04-27 19:39:14.856697+00:00dateutil.parser.import dateutil.parser as dparser
print("{}".format(dparser.parse("2022-04-27T19:39:14.856697021Z", fuzzy=True)))
>> 2022-04-27 19:39:14.856697+00:00      class Verify(disnake.ui.View):
    def __init__(self):
        super().__init__(timeout=180)
        self.db = database.DataBase()
    @disnake.ui.button(label="",style=disnake.ButtonStyle.gray, emoji="", disabled=False)
    async def my_button(self, button: disnake.ui.Button, interaction: disnake.Interaction):
        role = disnake.utils.get(bot.guilds[0].roles, id=1234567890)  # Получаем роль.
        await interaction.author.add_roles(role)  # Выдаем роль.
        await interaction.response.send_message("Done", ephemeral=True)async def no_respond(inter: disnake.Interaction) -> None:
    try:
        await inter.response.send_message('', ephemeral=True)
    except Exception:
        pass      @client.event
async def on_member_join(member):
    guild = client.get_guild(321321321)
    channel = guild.get_channel(123123123)
    embed = discord.Embed(title="Добро пожаловать!", description=f"На наш сервер залетел {member.mention}!",
                          color=0xCC974F)
    embed.set_thumbnail(url=member.avatar_url)
    await channel.send(embed=embed)      communication_disabled_untilbot.session = aiohttp.ClientSession()
@bot.command()
async def habr(ctx: commands.Context, member: discord.Member, time: int):
    # Авторизация бота.
    headers = {"Authorization": f"Bot {bot.http.token}"}
    url = f"https://discord.com/api/v9/guilds/{ctx.guild.id}/members/{member.id}"
    # Расчет времени "отправки на покушать.". Получаем время именно по utcnow. 
    # В противном случае, рискуем отправить человека кушать до конца времен. Ну почти.
    timeout = (datetime.datetime.utcnow() + datetime.timedelta(minutes=time)).isoformat()
    json = {'communication_disabled_until': timeout}
    # Отправка запроса.
    async with bot.session.patch(url, json=json, headers=headers) as session:
        if session.status == 200:
            await ctx.send(f'Пользователь {member.mention} пошел кушать на {time} минут.')
        await ctx.send(f'Воу-воу! Этого пользователя нельзя отправить кушать')# Объявляем глобальную переменную, в которой будет лежать последнее сообщение.
my_message = None
@bot.event
async def on_message(message):
    global my_message
    # Если автор сообщения не бот и содержания сообщения соответствует хранимому сообщению, отправляем его.
    if message.author != bot.user:
        if my_message == message.content:
            await message.channel.send(message.content)
        my_message = message.content
    await bot.process_commands(message)      ctx, не имеет атрибута memberctx должен быть передан первым.@bot.command()
async def test(ctx, member: discord.Member):
    await ctx.send(f'{ctx.author.name} грустит вместе с {member.name}')
      class DataBase:
    def __init__(self, db_file):
        self.conn = sqlite3.connect(db_file)
        self.cur = self.conn.cursor()
    # Аргумент arg принимает только кортежи(tuple), иначе ошибка.
    def add_check(self, arg: tuple):
        self.cur.execute("INSERT INTO check VALUES(?, ?);", arg)
        self.conn.commit()
# Создаем экземпляр класса, с указанием на БД.
db = DataBase('bot_base.db')
# Передаем методу класса add_check кортеж состоящий из user_id и bill_id
db.add_check((user_id, bill_id))@bot.event
async def on_message(message):
    if message.author != bot.user:  # Если автор сообщения НЕ бот.
        if {i.lower().translate(str.maketrans('', '', string.punctuation)) for i in message.content.split(' ')} \
                .intersection(set(json.load(open('slyhi.json')))) != set():
            channel = bot.get_channel(894897187593551892)
            await channel.send(f'[Выхваченное Сообщение]:~/// {message.author.mention}: {message.content}')
    await bot.process_commands(message)channels = [1231234234, 1231231234]
if message.channel.id in channels:
    do_something()      @client.command(pass_context=True)
@commands.has_any_role(860824791610032189, 876086379665301534)
async def mute( ctx, member: discord.Member, time: int):
    emb = discord.Embed(title="Участник Был Замучен!", colour=discord.Color.blue())
    await ctx.channel.purge(limit=1)
    emb.set_author(name=member.name, icon_url=member.avatar_url )
    emb.set_footer(text="Его замутил {}".format(ctx.author.name ), icon_url=ctx.author.avatar_url )
    
    await ctx.send(embed=emb)
    muted_role = discord.utils.get(ctx.message.guild.roles, name="Muted")
    await member.add_roles(muted_role)
    
    # Спим X секунд, перед тем как снять роль.
    await asyncio.sleep(time) 
    # Снимаем роль замученного.
    await member.remove_roles(muted_role)      @bot.command()
async def test(ctx):
    emb = discord.Embed(title="Image", colour=discord.Color.purple()) # Инициализируем Embed, который будет изменен.
    emb.set_image(url='https://i.imgur.com/mtKT52F.jpeg') # Прикрепляем к Embed'у изображение из интернетов.
    res = await ctx.send(embed=emb)
    new_emb = res.embeds[0] # Получаем наш Embed из первого сообщения.
    file = discord.File('ImageInPc.png', filename="ImageToDiscord.png")
    img_msg = await ctx.send(file=file) # Отправляем картинку в канал, чтобы после этого получить на нее ссылку.
    await asyncio.sleep(5) # Спим для наглядности.
    new_emb.set_image(url=img_msg.attachments[0].url) # img_msg.attachments[0].url - Искомая ссылка на файл.
    await res.edit(embed=new_emb) # Отправляем наш измененный Embed.      from_dict()emb_json = json.load(embed_file)
emb = discord.Embed.from_dict(emb_json)
        await ctx.send(embed=emb)      @bot.command()
async def habr(ctx, arg=None):
    await ctx.message.delete()  # Удаляем наше сообщение.
    emb = discord.Embed(title="Хабр", colour=discord.Color.orange())  # Инициализируем эмбед.
    emb.add_field(name='Первое поле', value=f'Реально же первое!')  # Добавляем поле.
    msg = await ctx.send(embed=emb)  # Отправляем сообщение и запоминаем что оно такое красивое есть.
    
    await asyncio.sleep(2)
    
    emb = msg.embeds[0]  # Выдергиваем с нашего отправленного сообщения эмбед и пересобираем его так, как нужно нам.
    for i, item in enumerate(emb.fields):  # Перебираем поля в эмбеде. i - индекс(позиция); item - содержание.
        if arg:  # Если есть аргумент, то добавляем его в наше новое поле.
            emb.add_field(name='Второе поле', value=f'{arg}')
        else:  # Если аргумента нету, то редактируем наше первое поле.
            if "Первое поле" in item.name:
                emb.set_field_at(index=i, name=item.name, value='Без аргумента? Жаль.', inline=item.inline)
    
    await msg.edit(embed=emb)  # Отправляем отредактированное сообщение.
      @bot.event
async def on_message(message):
    if int(message.channel.id) == 1234567890:  # ID-канала в котором будут сообщения для отправки.
        content = message.content  # Получаем содержание сообщения.
        await message.delete()  # Удаляем отправленное сообщение.
        channel = bot.get_channel(1234567890)  # ID-канала куда будут отправлены сообщения.
        await channel.send(content)  # Отправка сообщения с содержанием в нужный нам канал.      @bot.command(pass_context = True)
@commands.has_permissions(administrator = True)
async def checkuser_user(ctx, arg):
    await ctx.channel.send('Please, wait')
    # Пребираем все пользователей на сервере.
    for guild in bot.guilds:
        for member in guild.members:
            # Сравниваем введенный ник и ники тех кто есть на сервере, убирая идентификатор из ника "#9999" 
            if arg == str(member)[0:-5]:
                PREFIX = '>'
                emb = discord.Embed(title = 'User info')
                emb.add_field(name = '{}Bans'.format(PREFIX),value = '0')
                emb.add_field(name = '{}Kicks'.format(PREFIX),value = '0')
                emb.add_field(name = '{}Warns'.format(PREFIX),value = '1/3')
                emb.add_field(name = '{}Ban reason: '.format(PREFIX),value = 'None')
                emb.add_field(name = '{}Role history'.format(PREFIX),value = 'Verify.')
                await ctx.send(embed = emb)from fuzzywuzzy import fuzz
@bot.command(pass_context = True)
@commands.has_permissions(administrator = True)
async def checkuser_user(ctx, arg):
    await ctx.channel.send('Please, wait')
    # Пребираем все пользователей на сервере.
    for guild in bot.guilds:
        for member in guild.members:
            # Сравниваем введенный ник и ники полученные из списка.
            if fuzz.partial_ratio(arg, str(member)[0:-5]) > 95:  # <- Процент при котором совпадение "успешно".
                PREFIX = '>'
                emb = discord.Embed(title = 'User info')
                emb.add_field(name = '{}Bans'.format(PREFIX),value = '0')
                emb.add_field(name = '{}Kicks'.format(PREFIX),value = '0')
                emb.add_field(name = '{}Warns'.format(PREFIX),value = '1/3')
                emb.add_field(name = '{}Ban reason: '.format(PREFIX),value = 'None')
                emb.add_field(name = '{}Role history'.format(PREFIX),value = 'Verify.')
                await ctx.send(embed = emb)