آقای سلام چطورین خوبین؟ یه مشکلی هست اینکه من از یه لایببری استفاده میکنم توی برنامه نویسی اندروید که وصل میشیم به ربات تلگرام و... میخوام فقط هر دستور زدم توی ربات اجرا بشه و آماده دستور بعد باش و باز یه یک دستور دیگه و... الان کامل کار میکنه ولی خوب یه مشکلی هست یه چیزی میفرستم فقط یه بار اجرا میشه توی حلقه هم گزاشتم offset رو هم مشخص کردم باز بی نهایت اجرا میشه و... باز درست نشد لطفا راهنمایی کنین ممنون شما دوستان عزیزدل
چطوری میتونم یه دستور خواست بزنم و جواب اون دستورمو بگیرم اینم به مشکل خوردم مثال : گفتم سلام بگه علیک سلام یا گفتم کجایی بگه مشهد و...
لایببری :
https://github.com/androidmads/TelegramBotSample
این لایببری هم همه چی درسته و خودش هم این قابلیت offset رو داره اگه بتونین روی این اوکیش بکنیم خیلی بهتره :
https://github.com/pengrad/java-telegram-bot-api
سلام دوست من
با استفاده از دستور break حلقه رو بکشنین
موفق باشین :)
مرسی ممنون از باسخگویی شما خیلی متشکرم فقط ببخشید چطوری میتونم یه دستور خواست بزنم و جواب اون دستورمو بگیرم اینم به مشکل خوردم مثال : گفتم سلام بگه علیک سلام یا گفتم کجایی بگه مشهد و...
یک تابع بنویسین و متن هایی که احتمالا قرار است کاربران ارسال کنه رو داخل یک آرایه ذخیره کنین
داخل تابع با دستور if چک کنین که اگر مقدار ورودی تابع برابر با "سلام" بود بگه سلام
من در پایتون این رو پیاده می کنم:
def checkFunction (word):
if word === "Hello":
print "Hello"
elif word === "How are you?"
print "Thanks!"
به این ترتیب پیاده کنین
موفق باشین :)
همه اینارو میدونم مشکل اصلی اینکه چطوری متن کاربر رو بگیرم از تو خود کتاب خونه و بهش دسترسی بیدا بکنم مثال زیر رو ببخشید ببینین : یه متد SendMessage داره و داخلش Message داره که String میگیره خوب برای ارسال یک بیغام به دو تا چیز نیاز داریم chatid , message دقت کنین این کد خود کتاب خونست که گفتم نشون بدم الان میخوام مثلا به مقدار message که متن خود ربات هست دسترسی بگیرم و به متن خودم مثلا زدم رضا متن Message بشه سلام رضا و... کدای کتاب خونه رو که نمیشه ویرایش کرد ReadOnly هست فقط میشه خوند
public void sendMessage(String chatId, String message, final TelegramCallback telegramCallback) {
String sendMessageFunction = "/sendmessage?chat_id=" + chatId + "&text=" + message;
TelegramClient.getOkHttpClientCall(botToken,
sendMessageFunction, new Callback() {
@Override
public void onResponse(@NonNull final Call call,
@NonNull final Response response) throws IOException {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
try {
telegramCallback.onResponse(call, new Gson().fromJson(response.body().string(), Message.class));
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onFailure(@NonNull final Call call, @NonNull final IOException e) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
telegramCallback.onFailure(call, e);
}
});
}
});
}
این کدیه که خود لایببری به ما میده : متند SendMessage یک چت ایدی میگیره یه تکست که ربات ارسال میکنه من میخوام برای این شرط تعیین کنم اگه اگر رضا زدم متد SendMessage بگه علیک سلام و... من واقعا ممنون میشم کمکم کنین یه مثال اینطوری برای این کتاب خونه بزنین و هزینش هم میدم ممنون...
telegram.sendMessage("220913047", textsms, new TelegramCallback<Message>() {
@Override
public void onResponse(Call call, Message response) {
Log.v("response.body()", response.isOk() + "");
}
@Override
public void onFailure(Call call, Exception e) {
}
});
این لایببری خودش باز همه چیو داره فقط نتونستم کانفیگش کنم :https://github.com/pengrad/java-telegram-bot-api
برای نوشتن کد از بلوک کد استفاده کنین
کدهاتون بهم ریخته و قابل مطالعه نیست
همه اینارو میدونم مشکل اصلی اینکه چطوری متن کاربر رو بگیرم از تو خود کتاب خونه و بهش دسترسی بیدا بکنم مثال زیر رو ببخشید ببینین : یه متد SendMessage داره و داخلش Message داره که String میگیره خوب برای ارسال یک بیغام به دو تا چیز نیاز داریم chatid , message دقت کنین این کد خود کتاب خونست که گفتم نشون بدم الان میخوام مثلا به مقدار message که متن خود ربات هست دسترسی بگیرم و به متن خودم مثلا زدم رضا متن Message بشه سلام رضا و... کدای کتاب خونه رو که نمیشه ویرایش کرد ReadOnly هست فقط میشه خوند
public void sendMessage(String chatId, String message, final TelegramCallback telegramCallback) {
String sendMessageFunction = "/sendmessage?chat_id=" + chatId + "&text=" + message;
TelegramClient.getOkHttpClientCall(botToken,
sendMessageFunction, new Callback() {
@Override
public void onResponse(@NonNull final Call call,
@NonNull final Response response) throws IOException {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
try {
telegramCallback.onResponse(call, new Gson().fromJson(response.body().string(), Message.class));
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@Override
public void onFailure(@NonNull final Call call, @NonNull final IOException e) {
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
telegramCallback.onFailure(call, e);
}
});
}
});
}
این کدیه که خود لایببری به ما میده : متند SendMessage یک چت ایدی میگیره یه تکست که ربات ارسال میکنه من میخوام برای این شرط تعیین کنم اگه اگر رضا زدم متد SendMessage بگه علیک سلام و... من واقعا ممنون میشم کمکم کنین یه مثال اینطوری برای این کتاب خونه بزنین و هزینش هم میدم ممنون...
telegram.sendMessage("220913047", textsms, new TelegramCallback<Message>() {
@Override
public void onResponse(Call call, Message response) {
Log.v("response.body()", response.isOk() + "");
}
@Override
public void onFailure(Call call, Exception e) {
}
});
این لایببری خودش باز همه چیو داره فقط نتونستم کانفیگش کنم :https://github.com/pengrad/java-telegram-bot-api
آقا جواب منو میشه بدین هزینشو میدم
دوست عزیز تعداد سوالات زیاد هست و گاهی ممکنه برخی از سوالات دیده نشن!
من با این کتابخانونه ای که شما میگین کار نکردم و بهتره به داکیومنت کتابخونه مراجعه کنین
موفق باشین :)
سلام همه این راه هارو رفتم ممنون...
سلام ، در کل پیاده سازی ربات تلگرام در کلاینت ایده جالبی نیست بهتره اگر نیاز دارید که در اپلیکیشن اندروید به آن متصل بشید ، ربات رو در سرور با تکنولوژی های بهتری که داکیومنت بهتری هم دارند پیاده سازی بکنید و با api به آن متصل شوید تا هم به این مشکل ها نخورید هم اینکه به مشکلات فیلترینگ گریبانگیر نشید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)