第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從discord.py中最接近的匹配用戶名獲取用戶對(duì)象

從discord.py中最接近的匹配用戶名獲取用戶對(duì)象

至尊寶的傳說(shuō) 2023-06-27 14:38:12
我正在嘗試讓一個(gè)不和諧機(jī)器人向服務(wù)器中具有最接近匹配用戶名的用戶發(fā)送DM。我所說(shuō)的最接近匹配的用戶名是指,如果給機(jī)器人提供用戶名的一部分(例如“shin”),它會(huì)找到最接近的匹配用戶名(例如“shinramen”)。我提供的這段代碼僅適用于用戶的提及或確切用戶名。我嘗試過(guò)使用 difflib 但不幸的是無(wú)法讓它工作。我缺少任何更簡(jiǎn)單的解決方案嗎?async def dm(ctx, member: discord.Member):   user = await member.create_dm()     await user.send('message goes here')
查看完整描述

3 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您仍然需要它,或者其他人正在尋找它。


用于discord.utils.find查找最近的成員對(duì)象。這是一個(gè)成員轉(zhuǎn)換器的示例:


class Member(commands.Converter):

    async def convert(self, ctx, argument):

        try:

            member_converter = commands.MemberConverter()

            member = await member_converter.convert(ctx, argument)

        except commands.MemberNotFound:

            member = discord.utils.find(

                lambda m: m.name.lower().startswith(argument),

                ctx.guild.members

            )

        

        if member is None:

            raise commands.MemberNotFound(argument)


        return member


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

我不知道你為什么需要這個(gè),但你可以得到這樣的名字,然后你就可以隨心所欲地命名。我做了更多檢查,看看該成員在公會(huì)中是否有昵稱。


請(qǐng)記住,這是給作者的,您可以將其更改為您想要的任何內(nèi)容。


import difflib



@bot.command()

async def nearest(ctx):

    all_names = []

    for member in ctx.guild.members:

        if ctx.author == member:

            continue  # skip the author


        if member.nick:

            all_names.append(member.nick)

        else:

            all_names.append(member.name)


    if ctx.author.nick:

        close_names = difflib.get_close_matches(ctx.author.nick, all_names)

    else:

        close_names = difflib.get_close_matches(ctx.author.name, all_names)


    if close_names:

        await ctx.send(" - ".join(close_names))

    else:

        await ctx.send("You are unique")

您可以使用它來(lái)獲取 dm 的用戶。


user = bot.get_member_named('Name here')

user.send("Found your brother")


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

您不再需要?jiǎng)?chuàng)建 dm 頻道。只需使用一個(gè)await member.send("Whatever msg")

PS: 最接近的匹配用戶名是什么意思?您必須提供更多詳細(xì)信息,因?yàn)槲艺J(rèn)為這沒(méi)有意義。Discord已經(jīng)自動(dòng)為你 做到了 這一點(diǎn)。只需在您想要在不和諧中提及的用戶上按 Enter 鍵即可。他們會(huì)自動(dòng)向您顯示建議。我很確定您別無(wú)選擇,只能提及一名成員才能使該命令發(fā)揮作用。


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 3 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)