これがすでにどこかで回答されている場合は申し訳ありませんが、このクエリに対してほぼすべての回答済み投稿を試しましたが、Python の経験が少ないため、これを解決できません。
line 38, in on_message
msg1 = msg.replace("EmbedProxy", "")
AttributeError: 'list' object has no attribute 'replace'
これはメインコードのスニペットです
msg = message.embeds[0].fields
remove_characters = ["Machine Name:", "Threads", "Log", "Runtime", "Total Errors", "Content Mapped", " ContentMapped/h/thread", "Total Content", "Total Result", ":", ""]
for character in remove_characters:
msg = msg.replace(character, "")
result1 = [x.strip() for x in msg.split('|')]
#if len(result) == FIELDS:
# Add
print(message.created_at)
DATA = [str(message.created_at)] + result1
sheet.add(SPREADSHEET_ID, RANGE_NAME, DATA)
await message.channel.send('Your data has been successfully submitted!')
msg = message.embeds[0].fields の出力は次のとおりです
[EmbedProxy(value='16Core-64GB', name=':computer: マシン名:',
inline=True)、EmbedProxy(value='120'、name=':zap: Threads:'、
inline=True)、EmbedProxy(value='72s'、name=':hourglass_flowing_sand:
ランタイム:', inline=True), EmbedProxy(value='0.25h', name=':timer: Total
エラー:'、inline=True)、EmbedProxy(value='1002'、name=':loud_sound:
ContentMapped/h/thread:'、inline=True)、EmbedProxy(value='4008'、
name=':watch: 総コンテンツ:'、inline=True)、EmbedProxy(value='33'、
name=':battery: 合計結果:', inline=True)]
------------------------
リスト内の何かを置き換えることはできません。最初に、次のようにして文字列に変換する必要があります。
msg = ' '.join(msg).その後、msg 変数内で必要なものを置き換えることができます。
5
私も過去にこれを試しましたが、それを実行したところ、このエラーが発生しました。 msg = ' '.join(msg) TypeError: シーケンス項目 0: 予期される str インスタンス、EmbedProxy が見つかりました
– user3934618
2020 年 9 月 3 日 18:30
それでは、msg = ' を試していただけますか? '.join(list(msg))?
– Nurqm
2020 年 9 月 3 日 18:34
依然として同じです。 on_message msg = ' '.join(list(msg)) TypeError: シーケンス項目 0: 予期される str インスタンス、EmbedPrオキシが見つかりました
– user3934618
2020 年 9 月 3 日 18:48
メッセージで for i を実行してみてはいかがですか: print i
– Nurqm
2020 年 9 月 3 日 18:52
このエラーが発生しました msg = msg.replace(character, "") AttributeError: 'list'オブジェクトには属性「replace」がありません。
– user3934618
2020 年 9 月 4 日 1:05