Saya sangat baru untuk mengkodekan begitu menyesal jika ungkapan saya salah, tetapi saya memiliki perpustakaan kata ini

california_triggers = [
  "California", "california", "Fire", "fire"
]

Dan saya ingin memiliki pemicu perintah berikut hanya ketika pesan memiliki dua kata di perpustakaan tersebut

    if any(word in msg for word in california_triggers):
      await message.channel.send("California is currently on fire as of "+now_string+".")

Bagaimana saya membuat "California terbakar seperti sekarang" memerlukan pemicu dua kata dari California_triggers? Saya sangat menyesal karena saya baru untuk semua ini. Dan apakah saya akan memerlukan impor yang menyimpang dari perpustakaan perselisihan saja?

0
L-Froppy 5 April 2021, 12:42

1 menjawab

Jawaban Terbaik

Pertama-tama, itu bukan perpustakaan kata-kata. perpustakaan memiliki makna yang sama sekali berbeda dalam python. Anda memiliki daftar kata-kata. Sekarang memeriksa apakah MSG memiliki dua kata dari daftar, dapat dilakukan dengan beberapa cara.

if len(set(msg.content.split()) & set(california_triggers)) == 2:
    #msg and california have two common words

Penjelasan:

msg.content.split() membagi pesan dengan spasi. I.E menjadi kata-kata.
Operasi & antara dua set mengembalikan persimpangan dua set. I.e kata-kata umum.
Kami memeriksa apakah panjang kata-kata umum adalah 2 dan kemudian memicu blok IF.

Referensi:

Catatan:
. Pertanyaan Anda mengatakan bahwa Anda belum cukup belajar Python untuk mulai mengkodekan Bot Perselisihan Anda sendiri. Saya akan merekomendasikan belajar python dari awal, dan oop khusus untuk discord.py sebelum Anda dapat membuat bot yang sebenarnya

0
Ceres 5 April 2021, 16:25