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

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

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

خوب نبودخوبخیلی خوبعالیخیلی عالی (1 votes, average: 2٫00 out of 5)

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

برای ایجاد دکمه من متدی به نام 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 در تلگرام بگردید ، شکل زیر را مشاهده خواهید کرد .

pic3TbotPart3

موفق باشید .

پوریا پرهامی

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

[yuzo_related]

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

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

0 پاسخ

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

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

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

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.