Bot ora mung menarik, nanging uga migunani. Nalika nggarap, sampeyan bakal bisa entuk proyek sing gampang nanging bisa digunakake kanggo ngotomatisasi fungsi apa wae lan, ing sadawane dalan, kenal karo lambdas, Git lan Heroku. Nalika nggawe bot, aku ora nemokake instruksi babagan carane nggawe apa wae sing luwih rumit tinimbang bot echo sing prasaja. Aku pengin sing luwih wajar: contone, saluran sing bisa nindakake dialog nyata, pangembangan sing bakal diganti gumantung saka jawaban sing dipilih. Aku bakal pirembagan bab project sandi, kang njupuk kula rong minggu, lan aku bakal mbayar manungsa waé khusus kanggo penyebaran prajurit ing Heroku, awit aku ketemu kangelan gedhe ing tataran Final.
Registrasi
Kanggo miwiti, sampeyan kudu ndhaptar bot, nampa jeneng lan token, sing bakal dibutuhake mengko. Untunge, iki ora angel: bukak Telegram, goleki @BotFather banjur ketik / miwiti. Nanggepi, sampeyan bakal nampa dhaptar printah - kita kudu / newbot. We teka munggah karo jeneng, lan banjur jeneng panganggo, kang kudu mungkasi ing -bot, contone, Consequences1Bot. Jeneng pangguna kudu asli, mula sampeyan kudu nggunakake imajinasi sampeyan ing kene. Nanggepi, BotFather bakal ngirim token, kang paling disimpen langsung.Miwiti
Kanggo miwiti, kita butuh proyek Maven, Java 8 lan Intelliji Idea Ultimate. Sisipakepom.xml
: Aja lali ngeklik tombol Load Maven changes, sing bakal katon ing pojok tengen ndhuwur. Uga priksa manawa sampeyan nggunakake Java 8 utawa luwih dhuwur, iki bisa ditemokake ing File -> Setelan proyek -> Proyek. Ing folder kasebut src.main.java
, gawe subfolder kanthi jeneng bot sampeyan, kanggo kula iku paket example.TelegramBot
. Pisanan kita nggawe kelas TelegramBot
sing duwe warisan AbilityBot
. Yen Idea nggarisake kanthi warna abang (lan ora), klik kelas Impor. AbilityBot duwe siji cara sing kudu ditindakake - creatorId()
.
@Override
public int creatorId() {
return Constants.CREATOR_ID;
}
Kita uga kudu nggawe loro konstruktor: siji tanpa bantahan, lan nggunakake kaloro kita nelpon superclass konstruktor:
public TelegramBot() {
this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
}
private TelegramBot(String botToken, String botUsername) {
super(botToken, botUsername);
}
Constans
alamiah dadi abang - antarmuka iki kudu digawe. Iku bakal nyimpen strings lan nomer ID. Mesthi wae, sampeyan ora kudu repot lan ninggalake kabeh ing dokumen utama, nanging bakal luwih jelas kanthi cara iki. Dadi, ayo nggawe antarmuka Constans
. Variabel pisanan bakal dadi String BOT_TOKEN
(token sing dikirim BotFather), String BOT_USERNAME
lan int CREATOR_ID
. ID pangripta dibutuhake kanggo keamanan tambahan - sampeyan bisa nemokake mengko.
Bukak
Gawe kelasApplication
sing bakal ngemot metode main()
kanthi kode sing dibutuhake kanggo miwiti bot.
public class Application {
public static void main(String[] args) {
// Initializes dependencies necessary for the base bot
ApiContextInitializer.init();
// Create the TelegramBotsApi object to register your bots
TelegramBotsApi botsApi = new TelegramBotsApi();
try {
// Register your newly created AbilityBot
FitnessBot bot = new FitnessBot();
botsApi.registerBot(bot);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
}
Saiki sampeyan bisa miwiti bot saka cara utama, nanging ora bakal nindakake tumindak. Mung bisu sing bakal dadi jawaban sampeyan. Ing bagean sabanjure aku bakal nerangake carane ngganti iki. BAGIAN 2
GO TO FULL VERSION