חיפוש בפורום
מציג תוצאות עבור התגיות: 'jiscord'.
-
אהלן חבר'ה, מה נשמע? לא מזמן התחלתי לעבוד על הרחבה חדשה בשם Jiscord ל-Discord4J. ההרחבה בנויה לצרכים שלי ומותאמת לצורה שאני רגיל לתכנת בה. מעכשיו מודיע שההרחבה לא מומלצת לכל אחד ויש לשקול להשתמש ב-Discord4J נקי ללא הספרייה. - הסורס קוד של הספרייה יעלה בקרוב, כרגע תעלה רק הורדה לספרייה SHADED (עם כל הקבצים מוכנים בתוכה) // הספרייה עדיין לא לגמרי מתועדת - רישיון: עכשיו נגיע לעניין, הספרייה נורא פשוטה לשימוש והיא מכילה בתוכה 3 דברים עיקריים. 1. היא עושה באופן אוטומטי כל מני שטויות שלאף אחד אין כוח לעשות + EasyEmbed. 2. מערכת פקודות מבוססת אנוטציות (Annotations). 3. מערכת הרשאות. עם מה הספרייה מגיעה בתוכה בגרסת ה-Shaded? - Shaded Discord4J - BlueStoneUtils * מומלץ לייבא גם את הספרייה jackson-databind, זה יחסוך באגים של Discord4J במקרים מסוימים אך נכון לכרגע היא לא כלולה ב-Jiscord עצמה. יבוא באמצעות Maven: בוט בסיסי עם Jiscord - מעכשיו מודיע שכדי להבין את המדריך, צריך להיות עם ידע בסיסי ב-Java ובבוטים לדיסקורד - בסה"כ כדי ליצור בוט ב-Jiscord, אתם צריכים לקבוע ב-Config של Jiscord את ה-Token. את זה ניתן לעשות בקלות: Jiscord.getConfig().setToken("TOKEN"); זהו, תריצו והבוט יעבוד. Jiscord תטפל אוטומטית בהתחברות וביצירה של ה-Client. להתחיל עם מערכת פקודות קודם כל, אם רוצים להשתמש במערכת הפקודות של Jiscord, מומלץ לקבוע Prefix ברירת מחדל עבור הפקודות. את ה-Prefix גם קובעים לקונפיג בדרך הזו: Jiscord.getConfig().setPrefix("$"); // The prefix is $ עכשיו, אני לא הולך להסביר יותר מדי, אבל זה קוד לפקודה בסיסית (ניתן לרשת את SampleCommand או VoidSampleCommand על מנת לקבל את המתודה onCommand בצורה נוחה יותר): * ל-CommandHandler יש עוד מתודות מלבד ה-label. מוזמנים לבדוק את העניין. import blue.bluestone.Jiscord.commands.CommandHandler; import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent; public class YourGameCommand { @CommandHandler(label = {"your", "game", "yourgame" /*, "Every command that has to run this code" */}) public void onCommand(MessageReceivedEvent e, String label, String[] args, String msg) { } } במידה והמתודה של הפקודה מחזירה String, הבוט ישלח את ה-String שהוחזר לצ'אנל בו נשלחה ההודעה. עכשיו רושמים את הפקודה בצורה הזו: CommandManager.loadCommands(new YourGameCommand()/*, new AnotherCommand()...*/); במידה ורוצים להריץ קוד לפני הפקודה, ניתן לעשות את זה בצורה הזו (במידה וזה יחזיר false, הפקודה לא תרוץ): new CommandManager(new YourGameCommand(), messageReceivedEvent -> { // Some Code return true; }); זהו, יצרתם פקודה בסיסית. :claps: מערכת ההרשאות מערכת ההרשאות נורא פשוטה להבנה ונמצאת במחלקת Permissions. אם מישהו יסתבך בזה, אני אעלה עליה הסבר אבל אני מניח שאנשים ידעו להשתמש בזה בעצמם כבר. רק כמה דברים בנוגע למערכת: - יש אנטי-הרשאה. אם אתם רוצים לבטל למישהו הרשאה לפקודה לדוגמה, אתם מוסיפים לו את ההרשאה -label (מינוס הפקודה) - במידה ותפעילו באנוטציה את זה שחייב הרשאה בשביל הפקודה, אז ההרשאה היא תמיד ה-label - יש 2 הרשאות מאסטר (הרשאות שנותנות פול הרשאות על הבוט). ההרשאה הראשונה היא * והשנייה היא **. ההבדל בינהן הוא שרק להרשאה ** יש אופציה להריץ פקודות שדורשות הרשאה של ** (כלומר, אם יש פקודה שדורשת את ההרשאה **, רק מי שיש לו את ההרשאה הזו יוכל להריץ אותה ומי שיש לו את ההרשאה * יוכל להריץ כל פקודה חוץ ממנה). יש גם EasyEmbed אבל עם זה תסתדרו כבר. https://github.com/DrBenana/Jiscord פה אני אסיים את זה, מפה תנסו להסתדר ואם יש לכם שאלות (גם בנוגע ל-Jiscord וגם בנוגע ל-BlueStoneUtils) אני פה P: שיהיה יום מעולההה