亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改命令的輸入順序

更改命令的輸入順序

青春有我 2021-12-16 16:04:13
在一系列中搜索模式很容易,但我必須使用它apply來查找列是否以另一列的內容結尾。順便說一句,我不得不稍微更改您的數據,因為除非要忽略空格'...suite101','suite 101'否則不會以結尾。所以我使用了:d = pd.DataFrame({'street1': ['1000 foo dr', '1001 bar dr', '1002 foo dr suite 101', '1003 bar dr'],                  'street2': ['city_a', np.nan, 'suite 101', 'suite 102'],                  'city': ['city_a', 'city_b', np.nan, 'city_c']})print(pd.DataFrame({'Address': np.where(d.street2.str.contains('city', na=True)               | d.apply(lambda x: x.street1.endswith(str(x.street2)), axis = 1),               d.street1,               d.street1.str.cat(d.street2, sep=' '))}))按預期給出:                 Address0            1000 foo dr1            1001 bar dr2  1002 foo dr suite 1013  1003 bar dr suite 102我正在嘗試編寫一個簡單的機器人,它允許我通過鍵入這樣的命令來更改人名.name @Someone new_nickname 目前我已經寫了這個功能@client.command(process_context=True)async def name(ctx, *, member: discord.Member):    print('{}'.format(member))    await client.change_nickname(member, 'new_name')但是,現在調用此命令的唯一方法是將新昵稱放在被標記的人之前,如下所示:.name new_nickname @Someone所以我的問題是,我該如何編寫這個函數,讓我先標記這個人,然后再寫昵稱?
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

是pass_context,不是process_context。您只需要將member參數放在新名稱的僅關鍵字參數之前:


@client.command(pass_context=True)

async def name(ctx, member: discord.Member, *, new_name):

    await client.change_nickname(member, new_name)


查看完整回答
反對 回復 2021-12-16
  • 1 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號