2016-04-05 24 views
-1

"the_pvbro", sohbet sırasında bir komut yazmak istediğinde bot onu kullanmasına izin vermiyor. ve eklediğim her yeni mod için yeni bir sınıf yapmak için çok tembelim. Yani kimsenin bir fikri var belki nasıl farklı bir şekilde yapmalı?Benim bot mod için dize dizilimimi kabul etmiyor. onun nesi yanlış bilen var mı?

import org.jibble.pircbot.*; 

public class TwitchBot Şu anda sen mod dizinin karşı String gönderen karşılaştırdığınız {

public TwitchBot(){ 
    this.setName("rayibot"); 

    this.isConnected(); 
} 

String owner = "skalrayi"; 
String mod [] = new String[3];{ 
    mod[0] = "the_pvbro"; 
} 


public void onMessage(String channel, String sender, String login, String hostname, String message){ 
    if(message.equalsIgnoreCase("!spiel")){ 
     sendMessage(channel, "Aktuell wird " + Config.currentGame + " gespielt."); 
    } 

    else 
    if(message.equalsIgnoreCase("!song")){ 
     sendMessage(channel, "Aktueller Song:"); 

    } 

    else 
    if(message.equalsIgnoreCase("!hallo")){ 
     sendMessage(channel, "Hallo wie geht es dir denn heute so " +sender); 
    } 

    else 
    if(message.startsWith("!kick")){ 
     if(sender.equals(owner) || sender.equals(mod)) 
     { 

      String userToKick = message.split(" ")[1]; 
      kick(channel, userToKick); 
      sendMessage(channel, ".timeout " +userToKick + " 60"); 
      sendMessage(channel, userToKick +" wurde aus dem Channel gekickt!"); 
     } 

     else{ 
      sendMessage(channel, "Deine Rechte reichen nicht aus, um diesen Befehl zu benutzen! " + sender); 
     } 
    } 

    if (message.startsWith("!ban")) { 
      if(sender.equals(owner)|| sender.equals(mod)) 
      { 
       String userToBan = message.split(" ")[1]; 
       ban(channel, userToBan); 
       sendMessage(channel, ".ban " + userToBan); 
       sendMessage(channel, userToBan + " wurde aus dem Channel verbannt!"); 
      } 
      else{ 
       sendMessage(channel, "Deine Rechte reichen nicht aus, um diesen Befehl zu benutzen! " + sender); 
      } 
     } 


    } 

} 

cevap

0

PircBot uzanır. Bir dizi bir dizi olmadığından, bu her zaman false döndürür. Ne yapmak istediğiniz, mod dizisinin gönderen dizesini içerip içermediğini kontrol etmektir. Sonra değiştirerek contains yöntemi kullanmak mümkün olacak

String mod [] = new String[3];{ 
    mod[0] = "the_pvbro"; 
} 

List<String> mod = Arrays.asList("the_pvbro"); 

ile:

Ben ne yapardım

değiştirerek bir dizinin yerine bir liste kullanmaktır

Daha mods olsun
mod.contains(sender); 

Bu şekilde, sadece yani, Arrays.asList() için argümanlar ekleyebilirsiniz .:

List<String> mod = Arrays.asList(
    "the_pvbro", 
    "mod2", 
    "mod3"); 
+0

sayesinde yanıtlayan ve açıklamak için. herşey yolunda gidiyor, – Skalrayi

+0

@Skalrayi Sorun yok. Sorunuzu yeterince yanıtladığımı düşünüyorsanız oy düğmeleri altındaki onay işaretini tıklamayı düşünün :) – gla3dr