آموزش ساخت ربات تلگرام – قسمت سوم

آموزش ساخت ربات تلگرام

آموزش ساخت ربات تلگرام – قسمت سوم

خوب نبودخوبخیلی خوبعالیخیلی عالی ( 0 از 0 رای)

چگونه در ربات دکمه ایجاد کنیم :

برای ایجاد دکمه من متدی به نام ReplyKeyboardMarkup در کلاس DarkoobHandler ایجاد می کنم به شکل زیر :

private static ReplyKeyboardMarkup getMainMenuKeyboard() {
 ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
 replyKeyboardMarkup.setSelective(true);
 replyKeyboardMarkup.setResizeKeyboard(true);
 replyKeyboardMarkup.setOneTimeKeyboad(false);
 List keyboard = new ArrayList<>();
 KeyboardRow keyboardFirstRow = new KeyboardRow();
 keyboardFirstRow.add(getOurWorks());
 keyboardFirstRow.add(getAboutUs());
 KeyboardRow keyboardSecondRow = new KeyboardRow();
 keyboardSecondRow.add(getContactUs());
 keyboardSecondRow.add(getWebAddress());
 keyboard.add(keyboardFirstRow);
 keyboard.add(keyboardSecondRow);
 replyKeyboardMarkup.setKeyboard(keyboard);

 return replyKeyboardMarkup;
}

دراین متد من متدهای دیگری مانند getContactUs را صدا زده ام ، باید این متد هارا نیز ایجاد کنید .

من چهار دکمه دارم و چهار متد نیز ایجاد کرده ام.

private static String getWebAddress() {
return "آدرس سایت";
}


private static String getContactUs() {
return "تماس باما";
}

private static String getOurWorks() {
return "نمونه کارها";
}

private static String getAboutUs() {
return "درباره ما";
}

سپس وقت آن رسیده تا متد onUpdateReceived را کمی تغییر دهیم ، به شکل زیر :

@Override
public void onUpdateReceived(Update update) {

if (update.hasMessage()) {
Message message = update.getMessage();
if (message.hasText() || message.hasLocation()) {
try {
handleIncomingMessage(message);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}


}

}

همان طور که می بینید ، متدی به نام handelIncomingMessage صدا زده شده است ، بیاید آن را ایجاد کنیم :

private void handleIncomingMessage(Message message) throws TelegramApiException {

answerUser(message);
}

فعلا این متد کار ساده ای انجام میدهد و آن صدا زدن متدی به نام مanswerUser است اما در آینده کارهای دیگری نیز انجام خواهد داد که در این مبحث نمی گنجد.

اما در answerUser چه چیزی وجود دارد ؟ به کد زیر دقت کنید :

private void answerUser(Message message) {

ReplyKeyboardMarkup replyKeyboardMarkup = getMainMenuKeyboard();

SendMessage sendMessageRequest = new SendMessage();

if (replyKeyboardMarkup != null) {
sendMessageRequest.setReplyMarkup(replyKeyboardMarkup);
}

if (message.hasText()) {


sendMessageRequest.setChatId(message.getChatId().toString());

String userMessage = message.getText();
switch (userMessage) {

case "تماس باما":

sendMessageRequest.setText("مراجعه حضوری: مشهد، بلوار امامت، امامت ۴۶، پلاک ۷۵/۱، واحد یک (قبل از مراجعه لطفآ هماهنگ کنید)\n" +
"ارتباط تلفنی: ۰۵۱۳۶۰۴۰۲۳۱");
break;
case "آدرس سایت":

sendMessageRequest.setText("http://darkoobweb.com/");
break;
case "نمونه کارها":

sendMessageRequest.setText("http://darkoobweb.com/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%87%D8%A7/");
break;
case "درباره ما":

sendMessageRequest.setText("\u200C\u200Cما در زمینه\u200Cی طراحی و توسعه\u200Cی وب فارسی فعال هستیم. نشاط، انگیزه و نوآوری اولین چیزی\u200Cست که از تیم ما به چشم می\u200Cخورد. موضوع اصلی فعالیت ما تولید پوسته\u200Cهای ایرانی برای سیستم وردپرس است. همچنین برنامه نویسی، طراحی سایت، خدمات میزبانی و ... از جمله خدمات ماست.");
break;
case "/start":

sendMessageRequest.setText("خوش آمدید");
break;
}
try {
sendMessage(sendMessageRequest);
} catch (TelegramApiException e) {
sendMessageRequest.setText("Darkoobwebbot");
}
}

}

حال برنامه را اجرا کنید ، و به دنبال @DarkoobWebBot در تلگرام بگردید ، شکل زیر را مشاهده خواهید کرد .

READ  آموزش جاوا (J2SE) قسمت اول

pic3TbotPart3

موفق باشید .

پوریا پرهامی

پوریا پرهامی هستم، چند سالی هست که در مجموعه دارکوب وب فعالیت می‌کنم. عمده‌ی فعالیت من در زمینه برنامه نویسی هستش. همچنین به هوش مصنوعی و آموزش زبان‌های برنامه نویسی علاقه دارم.

مقالات پیشنهادی دارکوب وب

خبرنامه دارکوب وب

با عضویت در خبرنامه دارکوب وب، هر هفته یک ایمیل از آخرین مقالات و تخفیفات هیجان انگیز ما مطلع شوید.

پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

READ  آموزش جاوا (J2SE) قسمت اول