├── .gitignore ├── examples ├── advanced │ └── multipleTimers │ │ ├── readme.md │ │ └── edit_timer.gif ├── sendDocument │ └── data │ │ ├── audio.ogg │ │ ├── test.pdf │ │ ├── cities.zip │ │ └── telegram-bot.jpg ├── sendPhoto │ └── data │ │ ├── telegram-bot1.jpg │ │ └── telegram-bot2.jpg ├── formatStyle │ └── .vscode │ │ └── arduino.json ├── echoBot_UnoR4 │ └── echoBot_UnoR4.ino └── sendOnEvent │ └── sendOnEvent.ino ├── docs ├── html │ ├── bc_s.png │ ├── bdwn.png │ ├── doc.png │ ├── docd.png │ ├── open.png │ ├── bc_sd.png │ ├── closed.png │ ├── nav_f.png │ ├── nav_fd.png │ ├── nav_g.png │ ├── nav_h.png │ ├── nav_hd.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_ad.png │ ├── tab_b.png │ ├── tab_bd.png │ ├── tab_h.png │ ├── tab_hd.png │ ├── tab_s.png │ ├── tab_sd.png │ ├── splitbar.png │ ├── splitbard.png │ ├── sync_off.png │ ├── folderclosed.png │ ├── folderopen.png │ ├── search │ │ ├── files_4.js │ │ ├── classes_0.js │ │ ├── classes_1.js │ │ ├── classes_2.js │ │ ├── files_1.js │ │ ├── files_5.js │ │ ├── all_12.js │ │ ├── variables_7.js │ │ ├── variables_8.js │ │ ├── variables_9.js │ │ ├── variables_a.js │ │ ├── defines_6.js │ │ ├── functions_1.js │ │ ├── variables_6.js │ │ ├── enums_1.js │ │ ├── enums_3.js │ │ ├── enums_0.js │ │ ├── functions_8.js │ │ ├── defines_5.js │ │ ├── defines_9.js │ │ ├── functions_5.js │ │ ├── related_0.js │ │ ├── all_14.js │ │ ├── functions_3.js │ │ ├── all_9.js │ │ ├── enums_2.js │ │ ├── enums_4.js │ │ ├── enumvalues_1.js │ │ ├── enumvalues_2.js │ │ ├── enumvalues_3.js │ │ ├── enumvalues_6.js │ │ ├── enumvalues_9.js │ │ ├── files_3.js │ │ ├── files_0.js │ │ ├── files_2.js │ │ ├── defines_2.js │ │ ├── defines_3.js │ │ ├── defines_4.js │ │ ├── all_7.js │ │ ├── all_d.js │ │ ├── defines_8.js │ │ ├── functions_7.js │ │ ├── enumvalues_7.js │ │ ├── enumvalues_8.js │ │ ├── enumvalues_0.js │ │ ├── variables_5.js │ │ ├── functions_2.js │ │ ├── classes_3.js │ │ ├── variables_1.js │ │ ├── functions_9.js │ │ ├── all_13.js │ │ ├── all_15.js │ │ ├── all_e.js │ │ ├── functions_b.js │ │ ├── defines_a.js │ │ ├── variables_3.js │ │ ├── variables_4.js │ │ ├── defines_7.js │ │ ├── variables_0.js │ │ ├── defines_1.js │ │ ├── searchdata.js │ │ ├── all_1.js │ │ ├── all_f.js │ │ ├── functions_0.js │ │ ├── defines_0.js │ │ ├── all_a.js │ │ ├── enumvalues_4.js │ │ ├── variables_2.js │ │ ├── all_3.js │ │ ├── all_11.js │ │ ├── all_2.js │ │ ├── all_b.js │ │ ├── functions_4.js │ │ ├── mag.svg │ │ ├── mag_d.svg │ │ ├── all_8.js │ │ ├── close.svg │ │ ├── all_5.js │ │ ├── all_6.js │ │ ├── functions_6.js │ │ ├── all_4.js │ │ ├── enumvalues_5.js │ │ ├── all_0.js │ │ ├── all_c.js │ │ ├── mag_sel.svg │ │ └── mag_seld.svg │ ├── _async_telegram2_8h__dep__incl.dot │ ├── serial__log_8h__incl.dot │ ├── _inline_keyboard_8h__incl.dot │ ├── _inline_keyboard_8cpp__incl.dot │ ├── _reply_keyboard_8h__dep__incl.dot │ ├── _inline_keyboard_8h__dep__incl.dot │ ├── struct_t_b_message__coll__graph.dot │ ├── _reply_keyboard_8h__incl.dot │ ├── serial__log_8h__dep__incl.dot │ ├── _reply_keyboard_8cpp__incl.dot │ ├── graph_legend.dot │ ├── _data_structures_8h__dep__incl.dot │ ├── _async_telegram2_8h__incl.dot │ ├── _async_telegram2_8cpp__incl.dot │ ├── index.html │ ├── functions_rela.html │ ├── functions_enum.html │ ├── globals_enum.html │ ├── struct_t_b_location-members.html │ └── _reply_keyboard_8cpp.html ├── latex │ ├── _async_telegram2_8cpp.tex │ ├── _reply_keyboard_8cpp.tex │ ├── _inline_keyboard_8cpp.tex │ ├── _async_telegram2_8h__dep__incl.dot │ ├── serial__log_8h__incl.dot │ ├── _inline_keyboard_8h__incl.dot │ ├── Makefile │ ├── tg__certificate_8h.tex │ ├── _inline_keyboard_8cpp__incl.dot │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.tex │ ├── _reply_keyboard_8h__dep__incl.dot │ ├── annotated.tex │ ├── _inline_keyboard_8h__dep__incl.dot │ ├── files.tex │ ├── struct_t_b_message__coll__graph.dot │ ├── _reply_keyboard_8h__incl.dot │ ├── serial__log_8h__dep__incl.dot │ ├── _reply_keyboard_8cpp__incl.dot │ ├── make.bat │ ├── _data_structures_8h__dep__incl.dot │ ├── struct_t_b_location.tex │ ├── _async_telegram2_8h__incl.dot │ ├── _async_telegram2_8cpp__incl.dot │ ├── _async_telegram2_8cpp.tex.tmp │ ├── struct_t_b_user.tex │ └── struct_t_b_contact.tex └── man │ └── man3 │ ├── InlineKeyboard.cpp.3 │ ├── ReplyKeyboard.cpp.3 │ ├── tg_certificate.h.3 │ ├── D__Dropbox_ArduinoLibs_AsyncTelegram2_src_.3 │ ├── TBLocation.3 │ ├── AsyncTelegram2.cpp.3 │ ├── TBUser.3 │ ├── TBContact.3 │ ├── TBDocument.3 │ ├── InlineKeyboard.h.3 │ ├── serial_log.h.3 │ ├── ReplyKeyboard.h.3 │ ├── DataStructures.h.3 │ ├── ReplyKeyboard.3 │ ├── InlineKeyboard.3 │ ├── AsyncTelegram2.h.3 │ └── TBMessage.3 ├── partitions-4MB.csv ├── library.properties ├── .github ├── workflows │ ├── clean_workflow.yml │ └── build-esp8266.yml ├── PULL_REQUEST_TEMPLATE.md └── ISSUE_TEMPLATE.md.md ├── LICENSE ├── keywords.txt ├── pio_ci_ex_ALL.bat ├── src ├── DataStructures.h ├── ReplyKeyboard.h ├── serial_log.h ├── InlineKeyboard.h ├── InlineKeyboard.cpp └── ReplyKeyboard.cpp └── platformio.ini /.gitignore: -------------------------------------------------------------------------------- 1 | *.json 2 | -------------------------------------------------------------------------------- /examples/advanced/multipleTimers/readme.md: -------------------------------------------------------------------------------- 1 | ![image](edit_timer.gif) 2 | -------------------------------------------------------------------------------- /docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/bc_s.png -------------------------------------------------------------------------------- /docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/bdwn.png -------------------------------------------------------------------------------- /docs/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/doc.png -------------------------------------------------------------------------------- /docs/html/docd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/docd.png -------------------------------------------------------------------------------- /docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/open.png -------------------------------------------------------------------------------- /docs/html/bc_sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/bc_sd.png -------------------------------------------------------------------------------- /docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/closed.png -------------------------------------------------------------------------------- /docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/nav_f.png -------------------------------------------------------------------------------- /docs/html/nav_fd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/nav_fd.png -------------------------------------------------------------------------------- /docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/nav_g.png -------------------------------------------------------------------------------- /docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/nav_h.png -------------------------------------------------------------------------------- /docs/html/nav_hd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/nav_hd.png -------------------------------------------------------------------------------- /docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/sync_on.png -------------------------------------------------------------------------------- /docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_a.png -------------------------------------------------------------------------------- /docs/html/tab_ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_ad.png -------------------------------------------------------------------------------- /docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_b.png -------------------------------------------------------------------------------- /docs/html/tab_bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_bd.png -------------------------------------------------------------------------------- /docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_h.png -------------------------------------------------------------------------------- /docs/html/tab_hd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_hd.png -------------------------------------------------------------------------------- /docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_s.png -------------------------------------------------------------------------------- /docs/html/tab_sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/tab_sd.png -------------------------------------------------------------------------------- /docs/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/splitbar.png -------------------------------------------------------------------------------- /docs/html/splitbard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/splitbard.png -------------------------------------------------------------------------------- /docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/sync_off.png -------------------------------------------------------------------------------- /docs/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/folderclosed.png -------------------------------------------------------------------------------- /docs/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/docs/html/folderopen.png -------------------------------------------------------------------------------- /examples/sendDocument/data/audio.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendDocument/data/audio.ogg -------------------------------------------------------------------------------- /examples/sendDocument/data/test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendDocument/data/test.pdf -------------------------------------------------------------------------------- /docs/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['serial_5flog_2eh_0',['serial_log.h',['../serial__log_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /examples/sendDocument/data/cities.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendDocument/data/cities.zip -------------------------------------------------------------------------------- /examples/sendPhoto/data/telegram-bot1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendPhoto/data/telegram-bot1.jpg -------------------------------------------------------------------------------- /examples/sendPhoto/data/telegram-bot2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendPhoto/data/telegram-bot2.jpg -------------------------------------------------------------------------------- /docs/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['asynctelegram2_0',['AsyncTelegram2',['../class_async_telegram2.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['inlinekeyboard_0',['InlineKeyboard',['../class_inline_keyboard.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['replykeyboard_0',['ReplyKeyboard',['../class_reply_keyboard.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /examples/sendDocument/data/telegram-bot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/sendDocument/data/telegram-bot.jpg -------------------------------------------------------------------------------- /docs/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['datastructures_2eh_0',['DataStructures.h',['../_data_structures_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tg_5fcertificate_2eh_0',['tg_certificate.h',['../tg__certificate_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /examples/advanced/multipleTimers/edit_timer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cotestatnt/AsyncTelegram2/HEAD/examples/advanced/multipleTimers/edit_timer.gif -------------------------------------------------------------------------------- /docs/html/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['username_0',['username',['../struct_t_b_user.html#ae6932180f75bdf455cf4afb89cb6d216',1,'TBUser']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sender_0',['sender',['../struct_t_b_message.html#a91616732440321d5eaa86f6e557ceceb',1,'TBMessage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['text_0',['text',['../struct_t_b_message.html#a2920713025cb9908f957146f6afba725',1,'TBMessage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['username_0',['username',['../struct_t_b_user.html#ae6932180f75bdf455cf4afb89cb6d216',1,'TBUser']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vcard_0',['vCard',['../struct_t_b_contact.html#a7a2eec7e8f285f716775ede283083846',1,'TBContact']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['int32_0',['INT32',['../_async_telegram2_8h.html#aac92c5ec332dafe0abb24688dad1b795',1,'AsyncTelegram2.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['begin_0',['begin',['../class_async_telegram2.html#a30f85b610901712f91ff48432d8ff5e8',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['phonenumber_0',['phoneNumber',['../struct_t_b_contact.html#a1f1f3ad9ad256ef8dc9a900835ad3297',1,'TBContact']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['formatstyle_0',['FormatStyle',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['messagetype_0',['MessageType',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013',1,'DataStructures.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['documenttype_0',['DocumentType',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3ce',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['nonewmessage_0',['noNewMessage',['../class_async_telegram2.html#aaec5ad8e68a7409c21ae629545407fad',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['headers_5fend_0',['HEADERS_END',['../_async_telegram2_8cpp.html#ad52684f7aaf665e4e3a804865854635a',1,'AsyncTelegram2.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['server_5ftimeout_0',['SERVER_TIMEOUT',['../_async_telegram2_8h.html#a2533774d0ba0505b1b90502bdf8b0c9c',1,'AsyncTelegram2.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['forwardmessage_0',['forwardMessage',['../class_async_telegram2.html#ae25e548e6abd3972b442b6d4d14a9a49',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/related_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['asynctelegram2_0',['AsyncTelegram2',['../class_inline_keyboard.html#a92dfb3d8c63f36b84acc8554de69dfab',1,'InlineKeyboard']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['zip_0',['ZIP',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea4f97963b62fbe2bcf52de140b710c820',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['deletemycommands_0',['deleteMyCommands',['../class_async_telegram2.html#a4ec850e59adae8852c90ced61d3845de',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['json_0',['JSON',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea9dac12e3c50154c1bdf2878c8c116ca9',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['inlinekeyboardbuttontype_0',['InlineKeyboardButtonType',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137',1,'InlineKeyboard.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['replykeyboardbuttontype_0',['ReplyKeyboardButtonType',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6',1,'ReplyKeyboard.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['csv_0',['CSV',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea2388288943109c405b9ee7f18936d5d9',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['html_0',['HTML',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10abcff4774f8b4c305dcb53e7e5782415c',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['json_0',['JSON',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea9dac12e3c50154c1bdf2878c8c116ca9',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['none_0',['NONE',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10a30e126b7c8e791e3c14a0de4aa6db7b8',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['zip_0',['ZIP',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea4f97963b62fbe2bcf52de140b710c820',1,'AsyncTelegram2']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['replykeyboard_2ecpp_0',['ReplyKeyboard.cpp',['../_reply_keyboard_8cpp.html',1,'']]], 4 | ['replykeyboard_2eh_1',['ReplyKeyboard.h',['../_reply_keyboard_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['asynctelegram2_2ecpp_0',['AsyncTelegram2.cpp',['../_async_telegram2_8cpp.html',1,'']]], 4 | ['asynctelegram2_2eh_1',['AsyncTelegram2.h',['../_async_telegram2_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['inlinekeyboard_2ecpp_0',['InlineKeyboard.cpp',['../_inline_keyboard_8cpp.html',1,'']]], 4 | ['inlinekeyboard_2eh_1',['InlineKeyboard.h',['../_inline_keyboard_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/defines_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['debug_5fenable_0',['DEBUG_ENABLE',['../_async_telegram2_8h.html#a92f1452fef4b184124fa2334beb53a60',1,'AsyncTelegram2.h']]], 4 | ['debugjson_1',['debugJson',['../serial__log_8h.html#a34ec07116f1ed1ab676f439fb382cb5b',1,'serial_log.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/defines_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['end_5fboundary_0',['END_BOUNDARY',['../_async_telegram2_8cpp.html#a24a813330ce8132f9870ebfff57cb601',1,'AsyncTelegram2.cpp']]], 4 | ['errorjson_1',['errorJson',['../serial__log_8h.html#a991ba594d4a025d40d8ca312fdc8f2a7',1,'serial_log.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/defines_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['fs_5fsupport_0',['FS_SUPPORT',['../_async_telegram2_8h.html#a92cd06ad9805f9c211ecc118697985d2',1,'FS_SUPPORT(): AsyncTelegram2.h'],['../_async_telegram2_8h.html#a92cd06ad9805f9c211ecc118697985d2',1,'FS_SUPPORT(): AsyncTelegram2.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['headers_5fend_0',['HEADERS_END',['../_async_telegram2_8cpp.html#ad52684f7aaf665e4e3a804865854635a',1,'AsyncTelegram2.cpp']]], 4 | ['html_1',['HTML',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10abcff4774f8b4c305dcb53e7e5782415c',1,'AsyncTelegram2']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['none_0',['NONE',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10a30e126b7c8e791e3c14a0de4aa6db7b8',1,'AsyncTelegram2']]], 4 | ['nonewmessage_1',['noNewMessage',['../class_async_telegram2.html#aaec5ad8e68a7409c21ae629545407fad',1,'AsyncTelegram2']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/defines_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['max_5finlinekyb_5fcb_0',['MAX_INLINEKYB_CB',['../_async_telegram2_8h.html#a85de2cafcff35d732ec228bd96634080',1,'AsyncTelegram2.h']]], 4 | ['min_5fupdate_5ftime_1',['MIN_UPDATE_TIME',['../_async_telegram2_8h.html#a96ea578243c3f7e4a5f527b26d4b486b',1,'AsyncTelegram2.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['inlinekeyboard_0',['InlineKeyboard',['../class_inline_keyboard.html#ae8ef8cb1a2bc3c77ba84ea01792691b9',1,'InlineKeyboard::InlineKeyboard()'],['../class_inline_keyboard.html#a421b5ff7326ed4afcef668b01322bf67',1,'InlineKeyboard::InlineKeyboard(const String &keyboard)']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /partitions-4MB.csv: -------------------------------------------------------------------------------- 1 | # Name ,Type ,SubType ,Offset ,Size ,Flags 2 | nvs ,data ,nvs ,36K ,20K , 3 | otadata ,data ,ota ,56K ,8K , 4 | app0 ,app ,ota_0 ,64K ,1856K , 5 | app1 ,app ,ota_1 ,1920K ,1856K , 6 | spiffs ,data ,spiffs ,3776K ,256K , 7 | coredump ,data ,coredump ,4032K ,64K , 8 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pdf_0',['PDF',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cead3436454c890ced213ecbb35a7efd17b',1,'AsyncTelegram2']]], 4 | ['photo_1',['PHOTO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea5d559fa70b6ab890b18ad16f71b18462',1,'AsyncTelegram2']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/latex/_async_telegram2_8cpp.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{_async_telegram2_8cpp}{}\doxysection{src/\+Async\+Telegram2.cpp File Reference} 2 | \label{_async_telegram2_8cpp}\index{src/AsyncTelegram2.cpp@{src/AsyncTelegram2.cpp}} 3 | {\ttfamily \#include \char`\"{}Async\+Telegram2.\+h\char`\"{}}\newline 4 | Include dependency graph for Async\+Telegram2.\+cpp\+: 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['video_0',['VIDEO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea1e60136ec171b132b49ce682a209d21d',1,'AsyncTelegram2']]], 4 | ['voice_1',['VOICE',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea5980b573df9dcb42fd086e93c56d438c',1,'AsyncTelegram2']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/latex/_reply_keyboard_8cpp.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{_reply_keyboard_8cpp}{}\doxysection{src/\+Reply\+Keyboard.cpp File Reference} 2 | \label{_reply_keyboard_8cpp}\index{src/ReplyKeyboard.cpp@{src/ReplyKeyboard.cpp}} 3 | {\ttfamily \#include \char`\"{}Reply\+Keyboard.\+h\char`\"{}}\newline 4 | Include dependency graph for Reply\+Keyboard.\+cpp\+: 5 | % FIG 0 6 | -------------------------------------------------------------------------------- /docs/latex/_inline_keyboard_8cpp.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{_inline_keyboard_8cpp}{}\doxysection{src/\+Inline\+Keyboard.cpp File Reference} 2 | \label{_inline_keyboard_8cpp}\index{src/InlineKeyboard.cpp@{src/InlineKeyboard.cpp}} 3 | {\ttfamily \#include \char`\"{}Inline\+Keyboard.\+h\char`\"{}}\newline 4 | Include dependency graph for Inline\+Keyboard.\+cpp\+: 5 | % FIG 0 6 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['animation_0',['ANIMATION',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea6324e6c44aca79c415ab660fce156c9f',1,'AsyncTelegram2']]], 4 | ['audio_1',['AUDIO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea67c24f091f3223c581ebd5ec87fa8f63',1,'AsyncTelegram2']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/man/man3/InlineKeyboard.cpp.3: -------------------------------------------------------------------------------- 1 | .TH "src/InlineKeyboard.cpp" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/InlineKeyboard.cpp 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include 'InlineKeyboard\&.h'\fP 10 | .br 11 | 12 | .SH "Author" 13 | .PP 14 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 15 | -------------------------------------------------------------------------------- /docs/man/man3/ReplyKeyboard.cpp.3: -------------------------------------------------------------------------------- 1 | .TH "src/ReplyKeyboard.cpp" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/ReplyKeyboard.cpp 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include 'ReplyKeyboard\&.h'\fP 10 | .br 11 | 12 | .SH "Author" 13 | .PP 14 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 15 | -------------------------------------------------------------------------------- /docs/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['member_0',['member',['../struct_t_b_message.html#a254e3de624772a0a9df76b04687bd08b',1,'TBMessage']]], 4 | ['messageid_1',['messageID',['../struct_t_b_message.html#aee364e5f0224df393743e21268f66bbd',1,'TBMessage']]], 5 | ['messagetype_2',['messageType',['../struct_t_b_message.html#aaf84d19c6bfc71c449f711740d42627d',1,'TBMessage']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['checkconnection_0',['checkConnection',['../class_async_telegram2.html#a4cc01b5f954e7a6decb3e330fedab3ec',1,'AsyncTelegram2']]], 4 | ['clear_1',['clear',['../class_inline_keyboard.html#a9ada3c44cb384f8ce8db8d4fdfba60e9',1,'InlineKeyboard::clear()'],['../class_reply_keyboard.html#a852bde942959a74ec053b96058e7ae32',1,'ReplyKeyboard::clear()']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tbcontact_0',['TBContact',['../struct_t_b_contact.html',1,'']]], 4 | ['tbdocument_1',['TBDocument',['../struct_t_b_document.html',1,'']]], 5 | ['tblocation_2',['TBLocation',['../struct_t_b_location.html',1,'']]], 6 | ['tbmessage_3',['TBMessage',['../struct_t_b_message.html',1,'']]], 7 | ['tbuser_4',['TBUser',['../struct_t_b_user.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['date_0',['date',['../struct_t_b_message.html#a62f4c64ae68b56689d8ca8580e536c0e',1,'TBMessage']]], 4 | ['disable_5fnotification_1',['disable_notification',['../struct_t_b_message.html#a2b3fa338410399dd2dac8e6bc0b8e8db',1,'TBMessage']]], 5 | ['document_2',['document',['../struct_t_b_message.html#a48fe3d02e480acb3ec3b41e96e312579',1,'TBMessage']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /examples/formatStyle/.vscode/arduino.json: -------------------------------------------------------------------------------- 1 | { 2 | "configuration": "JTAGAdapter=default,PSRAM=disabled,FlashMode=qio,FlashSize=4M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none,ZigbeeMode=default", 3 | "board": "esp32:esp32:esp32s3", 4 | "sketch": "formatStyle.ino" 5 | } -------------------------------------------------------------------------------- /docs/html/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['removereplykeyboard_0',['removeReplyKeyboard',['../class_async_telegram2.html#aca60e039d76f080c3123cb329b18e831',1,'AsyncTelegram2']]], 4 | ['replykeyboard_1',['ReplyKeyboard',['../class_reply_keyboard.html#ac377d6efe61d7345db1552cb7b23c234',1,'ReplyKeyboard']]], 5 | ['reset_2',['reset',['../class_async_telegram2.html#a7c66734e475862fe039748724afbd7f8',1,'AsyncTelegram2']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/all_13.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vcard_0',['vCard',['../struct_t_b_contact.html#a7a2eec7e8f285f716775ede283083846',1,'TBContact']]], 4 | ['video_1',['VIDEO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea1e60136ec171b132b49ce682a209d21d',1,'AsyncTelegram2']]], 5 | ['voice_2',['VOICE',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea5980b573df9dcb42fd086e93c56d438c',1,'AsyncTelegram2']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/all_15.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7easynctelegram2_0',['~AsyncTelegram2',['../class_async_telegram2.html#a72bda6fec7f854f4668019ffa7529395',1,'AsyncTelegram2']]], 4 | ['_7einlinekeyboard_1',['~InlineKeyboard',['../class_inline_keyboard.html#a19f17c90991eaa9bbac9ac230e7a3590',1,'InlineKeyboard']]], 5 | ['_7ereplykeyboard_2',['~ReplyKeyboard',['../class_reply_keyboard.html#a7ba914daff69cf995528c4baafff3847',1,'ReplyKeyboard']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pdf_0',['PDF',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cead3436454c890ced213ecbb35a7efd17b',1,'AsyncTelegram2']]], 4 | ['phonenumber_1',['phoneNumber',['../struct_t_b_contact.html#a1f1f3ad9ad256ef8dc9a900835ad3297',1,'TBContact']]], 5 | ['photo_2',['PHOTO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea5d559fa70b6ab890b18ad16f71b18462',1,'AsyncTelegram2']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7easynctelegram2_0',['~AsyncTelegram2',['../class_async_telegram2.html#a72bda6fec7f854f4668019ffa7529395',1,'AsyncTelegram2']]], 4 | ['_7einlinekeyboard_1',['~InlineKeyboard',['../class_inline_keyboard.html#a19f17c90991eaa9bbac9ac230e7a3590',1,'InlineKeyboard']]], 5 | ['_7ereplykeyboard_2',['~ReplyKeyboard',['../class_reply_keyboard.html#a7ba914daff69cf995528c4baafff3847',1,'ReplyKeyboard']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/defines_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tas_5fnum_0',['TAs_NUM',['../tg__certificate_8h.html#ae2e26a4e8e97b0f15c18ba1ace062948',1,'tg_certificate.h']]], 4 | ['telegram_5fhost_1',['TELEGRAM_HOST',['../_async_telegram2_8h.html#ae085db1a0ead459849445d9aaa10a2fe',1,'AsyncTelegram2.h']]], 5 | ['telegram_5fip_2',['TELEGRAM_IP',['../_async_telegram2_8h.html#a16be0cc7d608f81bbbe9beeb9edee3a6',1,'AsyncTelegram2.h']]], 6 | ['telegram_5fport_3',['TELEGRAM_PORT',['../_async_telegram2_8h.html#a5d9b7639c33143f4e89890029153ffcf',1,'AsyncTelegram2.h']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/man/man3/tg_certificate.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/tg_certificate.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/tg_certificate.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .SS "Macros" 10 | 11 | .in +1c 12 | .ti -1c 13 | .RI "#define \fBTAs_NUM\fP 1" 14 | .br 15 | .in -1c 16 | .SH "Macro Definition Documentation" 17 | .PP 18 | .SS "#define TAs_NUM 1" 19 | 20 | .PP 21 | Definition at line \fB18\fP of file \fBtg_certificate\&.h\fP\&. 22 | .SH "Author" 23 | .PP 24 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 25 | -------------------------------------------------------------------------------- /docs/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['id_0',['id',['../struct_t_b_user.html#a7a7bdc57e98059b74049936d3dadf1ae',1,'TBUser::id()'],['../struct_t_b_contact.html#ac7c11fe1902535cdf9006c9f57be8d82',1,'TBContact::id()']]], 4 | ['isbot_1',['isBot',['../struct_t_b_user.html#acf866f0825ebee6f15f320b98ff752a1',1,'TBUser']]], 5 | ['ishtmlenabled_2',['isHTMLenabled',['../struct_t_b_message.html#a26729e11d3faa1b36cd5a671dfaa4cf9',1,'TBMessage']]], 6 | ['ismarkdownenabled_3',['isMarkdownEnabled',['../struct_t_b_message.html#a4c2c5097bb2b4aa72a29f1676dd17386',1,'TBMessage']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lastname_0',['lastName',['../struct_t_b_user.html#af8dfa5b3e59c95d741cc19f1af3dda4d',1,'TBUser::lastName()'],['../struct_t_b_contact.html#ab3179716a52645d6dfaa322ebafee286',1,'TBContact::lastName()']]], 4 | ['latitude_1',['latitude',['../struct_t_b_location.html#a35ea558308a99e9df3e23ca81cdb032b',1,'TBLocation']]], 5 | ['location_2',['location',['../struct_t_b_message.html#adfab6e4ed0a32eb72a84af1647430bb5',1,'TBMessage']]], 6 | ['longitude_3',['longitude',['../struct_t_b_location.html#a5fcb184937d38dca6b3be17627223d4e',1,'TBLocation']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/html/search/defines_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['led_5fbuiltin_0',['LED_BUILTIN',['../_async_telegram2_8h.html#a450a7c16ead7b3c7b882536b08f30a00',1,'AsyncTelegram2.h']]], 4 | ['log_5fdebug_1',['log_debug',['../serial__log_8h.html#a0e81b2ed10f6207339675f22092a2c32',1,'serial_log.h']]], 5 | ['log_5ferror_2',['log_error',['../serial__log_8h.html#a194d3ac058ef1c1146f12cc5ba1be3d3',1,'serial_log.h']]], 6 | ['log_5finfo_3',['log_info',['../serial__log_8h.html#a8b581e655c12106bd78a636d1d107651',1,'serial_log.h']]], 7 | ['log_5fwarning_4',['log_warning',['../serial__log_8h.html#aedd9ecc335f8cced4a69f9f8329130e1',1,'serial_log.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['callbackquerydata_0',['callbackQueryData',['../struct_t_b_message.html#a8c6cd2c1bcde0342b0ac0b8092d982ae',1,'TBMessage']]], 4 | ['callbackqueryid_1',['callbackQueryID',['../struct_t_b_message.html#a577e24c27938bb8d26a98a82788690e1',1,'TBMessage']]], 5 | ['chatid_2',['chatId',['../struct_t_b_message.html#a3ac03984cd7eb5b8c7e4bd4e01331c1f',1,'TBMessage']]], 6 | ['chatinstance_3',['chatInstance',['../struct_t_b_message.html#a92c0786d72ff5de5e3f1bd16884e9583',1,'TBMessage']]], 7 | ['contact_4',['contact',['../struct_t_b_message.html#a03e0503c26921fa895aa602ca2cb0816',1,'TBMessage']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/_async_telegram2_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 10 | } 11 | -------------------------------------------------------------------------------- /docs/latex/_async_telegram2_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 10 | } 11 | -------------------------------------------------------------------------------- /docs/html/search/defines_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['block_5fsize_0',['BLOCK_SIZE',['../_async_telegram2_8h.html#ad51ded0bbd705f02f73fc60c0b721ced',1,'AsyncTelegram2.h']]], 4 | ['boundary_1',['BOUNDARY',['../_async_telegram2_8cpp.html#a985bae7b67bcb96c5565a24a5f6d4cba',1,'AsyncTelegram2.cpp']]], 5 | ['buffer_5fbig_2',['BUFFER_BIG',['../_data_structures_8h.html#a88c571692cc653ac156068c0071b0aa7',1,'DataStructures.h']]], 6 | ['buffer_5fmedium_3',['BUFFER_MEDIUM',['../_data_structures_8h.html#a6c3da8213680f84f1ab89bdccde48fcd',1,'DataStructures.h']]], 7 | ['buffer_5fsmall_4',['BUFFER_SMALL',['../_data_structures_8h.html#ae25c3ea74ae70bd224ebb3d11a8cb5a4',1,'DataStructures.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdefghijklmnprstuvz~", 4 | 1: "airt", 5 | 2: "adirst", 6 | 3: "abcdefginrs~", 7 | 4: "cdfilmpstuv", 8 | 5: "dfimr", 9 | 6: "achjkmnpvz", 10 | 7: "a", 11 | 8: "abdefhilmst" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "files", 19 | 3: "functions", 20 | 4: "variables", 21 | 5: "enums", 22 | 6: "enumvalues", 23 | 7: "related", 24 | 8: "defines" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Classes", 31 | 2: "Files", 32 | 3: "Functions", 33 | 4: "Variables", 34 | 5: "Enumerations", 35 | 6: "Enumerator", 36 | 7: "Friends", 37 | 8: "Macros" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /library.properties: -------------------------------------------------------------------------------- 1 | name=AsyncTelegram2 2 | version=2.3.3 3 | author=Tolentino Cotesta 4 | maintainer=Tolentino Cotesta 5 | sentence=Powerful, flexible and secure Arduino Telegram BOT library. Hardware independent, it can be used with any MCU capable of handling an SSL connection. 6 | paragraph=Async and no blocking Arduino library for using Telegram bots. Send message to users, channels and groups. Image message supported (both url and filesystem). Reply and Inline keyboard (with callback functions) supported. Localization messages supported. Remote OTA supported. Custom commands supported. 7 | category=Communication 8 | url=https://github.com/cotestatnt/asynctelegram2 9 | architectures=* 10 | depends=ArduinoJson 11 | -------------------------------------------------------------------------------- /.github/workflows/clean_workflow.yml: -------------------------------------------------------------------------------- 1 | name: Clean Workflow Logs 2 | on: 3 | workflow_dispatch: 4 | inputs: 5 | keep_minimum_runs: 6 | description: "Numero di workflow recenti da mantenere" 7 | default: "5" 8 | required: false 9 | jobs: 10 | clean-logs: 11 | runs-on: ubuntu-latest 12 | permissions: 13 | actions: write 14 | steps: 15 | - name: Delete workflow runs 16 | uses: Mattraks/delete-workflow-runs@v2 17 | with: 18 | token: ${{ secrets.GITHUB_TOKEN }} 19 | repository: ${{ github.repository }} 20 | retain_days: 0 # Imposta a 0 per ignorare la data e considerare solo keep_minimum_runs 21 | keep_minimum_runs: ${{ github.event.inputs.keep_minimum_runs }} 22 | -------------------------------------------------------------------------------- /docs/html/serial__log_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/serial_log.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/serial_log.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | } 13 | -------------------------------------------------------------------------------- /docs/latex/serial__log_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/serial_log.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/serial_log.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | } 13 | -------------------------------------------------------------------------------- /docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['begin_0',['begin',['../class_async_telegram2.html#a30f85b610901712f91ff48432d8ff5e8',1,'AsyncTelegram2']]], 4 | ['block_5fsize_1',['BLOCK_SIZE',['../_async_telegram2_8h.html#ad51ded0bbd705f02f73fc60c0b721ced',1,'AsyncTelegram2.h']]], 5 | ['boundary_2',['BOUNDARY',['../_async_telegram2_8cpp.html#a985bae7b67bcb96c5565a24a5f6d4cba',1,'AsyncTelegram2.cpp']]], 6 | ['buffer_5fbig_3',['BUFFER_BIG',['../_data_structures_8h.html#a88c571692cc653ac156068c0071b0aa7',1,'DataStructures.h']]], 7 | ['buffer_5fmedium_4',['BUFFER_MEDIUM',['../_data_structures_8h.html#a6c3da8213680f84f1ab89bdccde48fcd',1,'DataStructures.h']]], 8 | ['buffer_5fsmall_5',['BUFFER_SMALL',['../_data_structures_8h.html#ae25c3ea74ae70bd224ebb3d11a8cb5a4',1,'DataStructures.h']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/html/_inline_keyboard_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 12 | } 13 | -------------------------------------------------------------------------------- /docs/latex/_inline_keyboard_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 12 | } 13 | -------------------------------------------------------------------------------- /docs/html/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['removereplykeyboard_0',['removeReplyKeyboard',['../class_async_telegram2.html#aca60e039d76f080c3123cb329b18e831',1,'AsyncTelegram2']]], 4 | ['replykeyboard_1',['ReplyKeyboard',['../class_reply_keyboard.html',1,'ReplyKeyboard'],['../class_reply_keyboard.html#ac377d6efe61d7345db1552cb7b23c234',1,'ReplyKeyboard::ReplyKeyboard()']]], 5 | ['replykeyboard_2ecpp_2',['ReplyKeyboard.cpp',['../_reply_keyboard_8cpp.html',1,'']]], 6 | ['replykeyboard_2eh_3',['ReplyKeyboard.h',['../_reply_keyboard_8h.html',1,'']]], 7 | ['replykeyboardbuttontype_4',['ReplyKeyboardButtonType',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6',1,'ReplyKeyboard.h']]], 8 | ['reset_5',['reset',['../class_async_telegram2.html#a7c66734e475862fe039748724afbd7f8',1,'AsyncTelegram2']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/man/man3/D__Dropbox_ArduinoLibs_AsyncTelegram2_src_.3: -------------------------------------------------------------------------------- 1 | .TH "src Directory Reference" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src Directory Reference 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .SS "Files" 10 | 11 | .in +1c 12 | .ti -1c 13 | .RI "file \fBAsyncTelegram2\&.cpp\fP" 14 | .br 15 | .ti -1c 16 | .RI "file \fBAsyncTelegram2\&.h\fP" 17 | .br 18 | .ti -1c 19 | .RI "file \fBDataStructures\&.h\fP" 20 | .br 21 | .ti -1c 22 | .RI "file \fBInlineKeyboard\&.cpp\fP" 23 | .br 24 | .ti -1c 25 | .RI "file \fBInlineKeyboard\&.h\fP" 26 | .br 27 | .ti -1c 28 | .RI "file \fBReplyKeyboard\&.cpp\fP" 29 | .br 30 | .ti -1c 31 | .RI "file \fBReplyKeyboard\&.h\fP" 32 | .br 33 | .ti -1c 34 | .RI "file \fBserial_log\&.h\fP" 35 | .br 36 | .ti -1c 37 | .RI "file \fBtg_certificate\&.h\fP" 38 | .br 39 | .in -1c 40 | -------------------------------------------------------------------------------- /docs/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['addbutton_0',['addButton',['../class_inline_keyboard.html#a1451827b7fa83562282e797767eacd1b',1,'InlineKeyboard::addButton()'],['../class_reply_keyboard.html#adda6537abe25904581c879d6a3bb3ddb',1,'ReplyKeyboard::addButton()']]], 4 | ['addinlinekeyboard_1',['addInlineKeyboard',['../class_async_telegram2.html#a4b412a4052949ecad188e5eef0034f6f',1,'AsyncTelegram2']]], 5 | ['addrow_2',['addRow',['../class_inline_keyboard.html#a39885c6fb2a210ad103f2f7f601d7068',1,'InlineKeyboard::addRow()'],['../class_reply_keyboard.html#ad4513c5a41f494ad2a46a26a77d14034',1,'ReplyKeyboard::addRow()']]], 6 | ['addsentcallback_3',['addSentCallback',['../class_async_telegram2.html#a657bb83c9330fa6082b57e66f192a190',1,'AsyncTelegram2']]], 7 | ['asynctelegram2_4',['AsyncTelegram2',['../class_async_telegram2.html#aa2da6b68a537f30474f2e0540f895372',1,'AsyncTelegram2']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/latex/Makefile: -------------------------------------------------------------------------------- 1 | LATEX_CMD?=pdflatex 2 | MKIDX_CMD?=makeindex 3 | BIBTEX_CMD?=bibtex 4 | LATEX_COUNT?=8 5 | MANUAL_FILE?=refman 6 | 7 | all: $(MANUAL_FILE).pdf 8 | 9 | pdf: $(MANUAL_FILE).pdf 10 | 11 | $(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex 12 | $(LATEX_CMD) $(MANUAL_FILE) 13 | $(MKIDX_CMD) $(MANUAL_FILE).idx 14 | $(LATEX_CMD) $(MANUAL_FILE) 15 | latex_count=$(LATEX_COUNT) ; \ 16 | while egrep -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\ 17 | do \ 18 | echo "Rerunning latex...." ;\ 19 | $(LATEX_CMD) $(MANUAL_FILE) ;\ 20 | latex_count=`expr $$latex_count - 1` ;\ 21 | done 22 | $(MKIDX_CMD) $(MANUAL_FILE).idx 23 | $(LATEX_CMD) $(MANUAL_FILE) 24 | 25 | 26 | clean: 27 | rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf 28 | -------------------------------------------------------------------------------- /docs/man/man3/TBLocation.3: -------------------------------------------------------------------------------- 1 | .TH "TBLocation" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | TBLocation 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Attributes" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "float \fBlongitude\fP" 16 | .br 17 | .ti -1c 18 | .RI "float \fBlatitude\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line \fB30\fP of file \fBDataStructures\&.h\fP\&. 24 | .SH "Member Data Documentation" 25 | .PP 26 | .SS "float TBLocation::latitude" 27 | 28 | .PP 29 | Definition at line \fB32\fP of file \fBDataStructures\&.h\fP\&. 30 | .SS "float TBLocation::longitude" 31 | 32 | .PP 33 | Definition at line \fB31\fP of file \fBDataStructures\&.h\fP\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 38 | -------------------------------------------------------------------------------- /docs/html/search/defines_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arduinojson_5fdecode_5funicode_0',['ARDUINOJSON_DECODE_UNICODE',['../_async_telegram2_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): AsyncTelegram2.h'],['../_inline_keyboard_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): InlineKeyboard.h'],['../_reply_keyboard_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): ReplyKeyboard.h']]], 4 | ['arduinojson_5fuse_5flong_5flong_1',['ARDUINOJSON_USE_LONG_LONG',['../_async_telegram2_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): AsyncTelegram2.h'],['../_inline_keyboard_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): InlineKeyboard.h'],['../_reply_keyboard_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): ReplyKeyboard.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboardbuttoncontact_0',['KeyboardButtonContact',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6aa9bbc86685d5bc5943211306feaa2ea9',1,'ReplyKeyboard.h']]], 4 | ['keyboardbuttonlocation_1',['KeyboardButtonLocation',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6a9b8df96762fa99fb4fe2309378033fa6',1,'ReplyKeyboard.h']]], 5 | ['keyboardbuttonquery_2',['KeyboardButtonQuery',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137a1ec2de53fb0d0aaeb6edb9c835dc8e85',1,'InlineKeyboard.h']]], 6 | ['keyboardbuttonsimple_3',['KeyboardButtonSimple',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6ab9aedd6589f8f66f2921ef13552afa8f',1,'ReplyKeyboard.h']]], 7 | ['keyboardbuttonurl_4',['KeyboardButtonURL',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137a992d422c593357352cbd0c428cd21f86',1,'InlineKeyboard.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboardbuttoncontact_0',['KeyboardButtonContact',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6aa9bbc86685d5bc5943211306feaa2ea9',1,'ReplyKeyboard.h']]], 4 | ['keyboardbuttonlocation_1',['KeyboardButtonLocation',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6a9b8df96762fa99fb4fe2309378033fa6',1,'ReplyKeyboard.h']]], 5 | ['keyboardbuttonquery_2',['KeyboardButtonQuery',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137a1ec2de53fb0d0aaeb6edb9c835dc8e85',1,'InlineKeyboard.h']]], 6 | ['keyboardbuttonsimple_3',['KeyboardButtonSimple',['../_reply_keyboard_8h.html#ac8db0fb6e81ef58b454140d50bea73d6ab9aedd6589f8f66f2921ef13552afa8f',1,'ReplyKeyboard.h']]], 7 | ['keyboardbuttonurl_4',['KeyboardButtonURL',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137a992d422c593357352cbd0c428cd21f86',1,'InlineKeyboard.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['file_5fexists_0',['file_exists',['../struct_t_b_document.html#a44b4989592d79a3ade348b7fdf010e80',1,'TBDocument']]], 4 | ['file_5fid_1',['file_id',['../struct_t_b_document.html#abc577e94ccfda828dfdcf6a4959c2583',1,'TBDocument']]], 5 | ['file_5fname_2',['file_name',['../struct_t_b_document.html#a6c41149949727bea7502586323748832',1,'TBDocument']]], 6 | ['file_5fpath_3',['file_path',['../struct_t_b_document.html#a5a413708841ec79ea380483b24fcd56a',1,'TBDocument']]], 7 | ['file_5fsize_4',['file_size',['../struct_t_b_document.html#a391a820b470617726194a73f8da17a82',1,'TBDocument']]], 8 | ['firstname_5',['firstName',['../struct_t_b_user.html#a3288745f836368bdc2135303ebfd1e32',1,'TBUser::firstName()'],['../struct_t_b_contact.html#a58515374fabb74b5762a464a8a5aae3a',1,'TBContact::firstName()']]], 9 | ['force_5freply_6',['force_reply',['../struct_t_b_message.html#ae78c22482705295fcab671e7f679f827',1,'TBMessage']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /docs/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['datastructures_2eh_0',['DataStructures.h',['../_data_structures_8h.html',1,'']]], 4 | ['date_1',['date',['../struct_t_b_message.html#a62f4c64ae68b56689d8ca8580e536c0e',1,'TBMessage']]], 5 | ['debug_5fenable_2',['DEBUG_ENABLE',['../_async_telegram2_8h.html#a92f1452fef4b184124fa2334beb53a60',1,'AsyncTelegram2.h']]], 6 | ['debugjson_3',['debugJson',['../serial__log_8h.html#a34ec07116f1ed1ab676f439fb382cb5b',1,'serial_log.h']]], 7 | ['deletemycommands_4',['deleteMyCommands',['../class_async_telegram2.html#a4ec850e59adae8852c90ced61d3845de',1,'AsyncTelegram2']]], 8 | ['disable_5fnotification_5',['disable_notification',['../struct_t_b_message.html#a2b3fa338410399dd2dac8e6bc0b8e8db',1,'TBMessage']]], 9 | ['document_6',['document',['../struct_t_b_message.html#a48fe3d02e480acb3ec3b41e96e312579',1,'TBMessage']]], 10 | ['documenttype_7',['DocumentType',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3ce',1,'AsyncTelegram2']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/man/man3/AsyncTelegram2.cpp.3: -------------------------------------------------------------------------------- 1 | .TH "src/AsyncTelegram2.cpp" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/AsyncTelegram2.cpp 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include 'AsyncTelegram2\&.h'\fP 10 | .br 11 | 12 | .SS "Macros" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "#define \fBHEADERS_END\fP '\\r\\n\\r\\n'" 17 | .br 18 | .ti -1c 19 | .RI "#define \fBBOUNDARY\fP '\-\-\-\-WebKitFormBoundary7MA4YWxkTrZu0gW'" 20 | .br 21 | .ti -1c 22 | .RI "#define \fBEND_BOUNDARY\fP '\\r\\n\-\-' BOUNDARY '\-\-\\r\\n'" 23 | .br 24 | .in -1c 25 | .SH "Macro Definition Documentation" 26 | .PP 27 | .SS "#define BOUNDARY '\-\-\-\-WebKitFormBoundary7MA4YWxkTrZu0gW'" 28 | 29 | .SS "#define END_BOUNDARY '\\r\\n\-\-' BOUNDARY '\-\-\\r\\n'" 30 | 31 | .SS "#define HEADERS_END '\\r\\n\\r\\n'" 32 | 33 | .PP 34 | Definition at line \fB3\fP of file \fBAsyncTelegram2\&.cpp\fP\&. 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 38 | -------------------------------------------------------------------------------- /docs/latex/tg__certificate_8h.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{tg__certificate_8h}{}\doxysection{src/tg\+\_\+certificate.h File Reference} 2 | \label{tg__certificate_8h}\index{src/tg\_certificate.h@{src/tg\_certificate.h}} 3 | \doxysubsection*{Macros} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | \#define \mbox{\hyperlink{tg__certificate_8h_ae2e26a4e8e97b0f15c18ba1ace062948}{TAs\+\_\+\+NUM}}~1 7 | \end{DoxyCompactItemize} 8 | 9 | 10 | \doxysubsection{Macro Definition Documentation} 11 | \mbox{\Hypertarget{tg__certificate_8h_ae2e26a4e8e97b0f15c18ba1ace062948}\label{tg__certificate_8h_ae2e26a4e8e97b0f15c18ba1ace062948}} 12 | \index{tg\_certificate.h@{tg\_certificate.h}!TAs\_NUM@{TAs\_NUM}} 13 | \index{TAs\_NUM@{TAs\_NUM}!tg\_certificate.h@{tg\_certificate.h}} 14 | \doxysubsubsection{\texorpdfstring{TAs\_NUM}{TAs\_NUM}} 15 | {\footnotesize\ttfamily \#define TAs\+\_\+\+NUM~1} 16 | 17 | 18 | 19 | Definition at line \mbox{\hyperlink{tg__certificate_8h_source_l00018}{18}} of file \mbox{\hyperlink{tg__certificate_8h_source}{tg\+\_\+certificate.\+h}}. 20 | 21 | -------------------------------------------------------------------------------- /docs/html/_inline_keyboard_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /docs/latex/_inline_keyboard_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /docs/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\doxysection{src Directory Reference} 2 | \label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src Directory Reference}} 3 | \doxysubsection*{Files} 4 | \begin{DoxyCompactItemize} 5 | \item 6 | file \mbox{\hyperlink{_async_telegram2_8cpp}{Async\+Telegram2.\+cpp}} 7 | \item 8 | file \mbox{\hyperlink{_async_telegram2_8h}{Async\+Telegram2.\+h}} 9 | \item 10 | file \mbox{\hyperlink{_data_structures_8h}{Data\+Structures.\+h}} 11 | \item 12 | file \mbox{\hyperlink{_inline_keyboard_8cpp}{Inline\+Keyboard.\+cpp}} 13 | \item 14 | file \mbox{\hyperlink{_inline_keyboard_8h}{Inline\+Keyboard.\+h}} 15 | \item 16 | file \mbox{\hyperlink{_reply_keyboard_8cpp}{Reply\+Keyboard.\+cpp}} 17 | \item 18 | file \mbox{\hyperlink{_reply_keyboard_8h}{Reply\+Keyboard.\+h}} 19 | \item 20 | file \mbox{\hyperlink{serial__log_8h}{serial\+\_\+log.\+h}} 21 | \item 22 | file \mbox{\hyperlink{tg__certificate_8h}{tg\+\_\+certificate.\+h}} 23 | \end{DoxyCompactItemize} 24 | -------------------------------------------------------------------------------- /docs/html/_reply_keyboard_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /docs/html/search/all_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tas_5fnum_0',['TAs_NUM',['../tg__certificate_8h.html#ae2e26a4e8e97b0f15c18ba1ace062948',1,'tg_certificate.h']]], 4 | ['tbcontact_1',['TBContact',['../struct_t_b_contact.html',1,'']]], 5 | ['tbdocument_2',['TBDocument',['../struct_t_b_document.html',1,'']]], 6 | ['tblocation_3',['TBLocation',['../struct_t_b_location.html',1,'']]], 7 | ['tbmessage_4',['TBMessage',['../struct_t_b_message.html',1,'']]], 8 | ['tbuser_5',['TBUser',['../struct_t_b_user.html',1,'']]], 9 | ['telegram_5fhost_6',['TELEGRAM_HOST',['../_async_telegram2_8h.html#ae085db1a0ead459849445d9aaa10a2fe',1,'AsyncTelegram2.h']]], 10 | ['telegram_5fip_7',['TELEGRAM_IP',['../_async_telegram2_8h.html#a16be0cc7d608f81bbbe9beeb9edee3a6',1,'AsyncTelegram2.h']]], 11 | ['telegram_5fport_8',['TELEGRAM_PORT',['../_async_telegram2_8h.html#a5d9b7639c33143f4e89890029153ffcf',1,'AsyncTelegram2.h']]], 12 | ['text_9',['text',['../struct_t_b_message.html#a2920713025cb9908f957146f6afba725',1,'TBMessage']]], 13 | ['tg_5fcertificate_2eh_10',['tg_certificate.h',['../tg__certificate_8h.html',1,'']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /docs/latex/_reply_keyboard_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /docs/latex/annotated.tex: -------------------------------------------------------------------------------- 1 | \doxysection{Class List} 2 | Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} 3 | \item\contentsline{section}{\mbox{\hyperlink{class_async_telegram2}{Async\+Telegram2}} }{\pageref{class_async_telegram2}}{} 4 | \item\contentsline{section}{\mbox{\hyperlink{class_inline_keyboard}{Inline\+Keyboard}} }{\pageref{class_inline_keyboard}}{} 5 | \item\contentsline{section}{\mbox{\hyperlink{class_reply_keyboard}{Reply\+Keyboard}} }{\pageref{class_reply_keyboard}}{} 6 | \item\contentsline{section}{\mbox{\hyperlink{struct_t_b_contact}{TBContact}} }{\pageref{struct_t_b_contact}}{} 7 | \item\contentsline{section}{\mbox{\hyperlink{struct_t_b_document}{TBDocument}} }{\pageref{struct_t_b_document}}{} 8 | \item\contentsline{section}{\mbox{\hyperlink{struct_t_b_location}{TBLocation}} }{\pageref{struct_t_b_location}}{} 9 | \item\contentsline{section}{\mbox{\hyperlink{struct_t_b_message}{TBMessage}} }{\pageref{struct_t_b_message}}{} 10 | \item\contentsline{section}{\mbox{\hyperlink{struct_t_b_user}{TBUser}} }{\pageref{struct_t_b_user}}{} 11 | \end{DoxyCompactList} 12 | -------------------------------------------------------------------------------- /docs/html/_inline_keyboard_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8cpp.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /docs/latex/_inline_keyboard_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/InlineKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8cpp.html",tooltip=" "]; 14 | } 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | --------------------- 3 | 4 | Copyright © 2018-2021 Tolentino Cotesta 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 9 | 10 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 11 | -------------------------------------------------------------------------------- /docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['callbackquerydata_0',['callbackQueryData',['../struct_t_b_message.html#a8c6cd2c1bcde0342b0ac0b8092d982ae',1,'TBMessage']]], 4 | ['callbackqueryid_1',['callbackQueryID',['../struct_t_b_message.html#a577e24c27938bb8d26a98a82788690e1',1,'TBMessage']]], 5 | ['chatid_2',['chatId',['../struct_t_b_message.html#a3ac03984cd7eb5b8c7e4bd4e01331c1f',1,'TBMessage']]], 6 | ['chatinstance_3',['chatInstance',['../struct_t_b_message.html#a92c0786d72ff5de5e3f1bd16884e9583',1,'TBMessage']]], 7 | ['checkconnection_4',['checkConnection',['../class_async_telegram2.html#a4cc01b5f954e7a6decb3e330fedab3ec',1,'AsyncTelegram2']]], 8 | ['clear_5',['clear',['../class_inline_keyboard.html#a9ada3c44cb384f8ce8db8d4fdfba60e9',1,'InlineKeyboard::clear()'],['../class_reply_keyboard.html#a852bde942959a74ec053b96058e7ae32',1,'ReplyKeyboard::clear()']]], 9 | ['contact_6',['contact',['../struct_t_b_message.html#a03e0503c26921fa895aa602ca2cb0816',1,'TBMessage']]], 10 | ['csv_7',['CSV',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea2388288943109c405b9ee7f18936d5d9',1,'AsyncTelegram2']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /docs/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lastname_0',['lastName',['../struct_t_b_user.html#af8dfa5b3e59c95d741cc19f1af3dda4d',1,'TBUser::lastName()'],['../struct_t_b_contact.html#ab3179716a52645d6dfaa322ebafee286',1,'TBContact::lastName()']]], 4 | ['latitude_1',['latitude',['../struct_t_b_location.html#a35ea558308a99e9df3e23ca81cdb032b',1,'TBLocation']]], 5 | ['led_5fbuiltin_2',['LED_BUILTIN',['../_async_telegram2_8h.html#a450a7c16ead7b3c7b882536b08f30a00',1,'AsyncTelegram2.h']]], 6 | ['location_3',['location',['../struct_t_b_message.html#adfab6e4ed0a32eb72a84af1647430bb5',1,'TBMessage']]], 7 | ['log_5fdebug_4',['log_debug',['../serial__log_8h.html#a0e81b2ed10f6207339675f22092a2c32',1,'serial_log.h']]], 8 | ['log_5ferror_5',['log_error',['../serial__log_8h.html#a194d3ac058ef1c1146f12cc5ba1be3d3',1,'serial_log.h']]], 9 | ['log_5finfo_6',['log_info',['../serial__log_8h.html#a8b581e655c12106bd78a636d1d107651',1,'serial_log.h']]], 10 | ['log_5fwarning_7',['log_warning',['../serial__log_8h.html#aedd9ecc335f8cced4a69f9f8329130e1',1,'serial_log.h']]], 11 | ['longitude_8',['longitude',['../struct_t_b_location.html#a5fcb184937d38dca6b3be17627223d4e',1,'TBLocation']]] 12 | ]; 13 | -------------------------------------------------------------------------------- /keywords.txt: -------------------------------------------------------------------------------- 1 | AsyncTelegram2 KEYWORD1 2 | InlineKeyboard KEYWORD1 3 | ReplyKeyboard KEYWORD1 4 | 5 | setTelegramToken KEYWORD2 6 | setUpdateTime KEYWORD2 7 | testConnection KEYWORD2 8 | getNewMessage KEYWORD2 9 | sendMessage KEYWORD2 10 | removeReplyKeyboard KEYWORD2 11 | endQuery KEYWORD2 12 | sendPhotoByFile KEYWORD2 13 | sendToChannel KEYWORD2 14 | sendTo KEYWORD2 15 | sendPhotoByUrl KEYWORD2 16 | getBotName KEYWORD2 17 | addSentCallback KEYWORD2 18 | checkConnection KEYWORD2 19 | addSentCallback KEYWORD2 20 | sendDocument KEYWORD2 21 | setFormattingStyle KEYWORD2 22 | setJsonBufferSize KEYWORD2 23 | 24 | addRow KEYWORD2 25 | addButton KEYWORD2 26 | getJson KEYWORD2 27 | getPretty KEYWORD2 28 | getFile KEYWORD2 29 | getMe KEYWORD2 30 | 31 | TBUser KEYWORD3 32 | TBMessage KEYWORD3 33 | TBLocation KEYWORD3 34 | TBGroup KEYWORD3 35 | TBContact KEYWORD3 36 | TBDocument KEYWORD3 37 | MessageType KEYWORD3 38 | 39 | InlineKeyboardButtonType KEYWORD3 40 | ReplyKeyboardButtonType KEYWORD3 41 | 42 | MessageNoData LITERAL1 43 | MessageText LITERAL1 44 | MessageQuery LITERAL1 45 | MessageLocation LITERAL1 46 | MessageContact LITERAL1 47 | MessageDocument LITERAL1 48 | MessageReply LITERAL1 49 | 50 | KeyboardButtonURL LITERAL1 51 | KeyboardButtonQuery LITERAL1 52 | -------------------------------------------------------------------------------- /docs/html/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['editmessage_0',['editMessage',['../class_async_telegram2.html#af5c03f30c18df9051ffb8052587f7372',1,'AsyncTelegram2::editMessage(int32_t chat_id, int32_t message_id, const String &txt, const String &keyboard)'],['../class_async_telegram2.html#ac2ad70a33b6449e4ed6efd446ef03c28',1,'AsyncTelegram2::editMessage(const TBMessage &msg, const String &txt, const String &keyboard)'],['../class_async_telegram2.html#ab590a7bd09691493c91425f53518fa18',1,'AsyncTelegram2::editMessage(int32_t chat_id, int32_t message_id, const String &txt, InlineKeyboard &keyboard)'],['../class_async_telegram2.html#adf270e109514f7b55b46e3fb07fa8c0b',1,'AsyncTelegram2::editMessage(const TBMessage &msg, const String &txt, InlineKeyboard &keyboard)']]], 4 | ['enableonetime_1',['enableOneTime',['../class_reply_keyboard.html#a2ad89020c1c225a125d18a70bec385e1',1,'ReplyKeyboard']]], 5 | ['enableresize_2',['enableResize',['../class_reply_keyboard.html#a9e82a65c0b9a00a7a9c03a571a158e11',1,'ReplyKeyboard']]], 6 | ['enableselective_3',['enableSelective',['../class_reply_keyboard.html#a32246f430ab3d9efe9bd4496017e1469',1,'ReplyKeyboard']]], 7 | ['endquery_4',['endQuery',['../class_async_telegram2.html#a4e7d5186ea63a6e342503394189cf1c8',1,'AsyncTelegram2']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/mag.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /docs/html/search/mag_d.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /docs/latex/files.tex: -------------------------------------------------------------------------------- 1 | \doxysection{File List} 2 | Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} 3 | \item\contentsline{section}{src/\mbox{\hyperlink{_async_telegram2_8cpp}{Async\+Telegram2.\+cpp}} }{\pageref{_async_telegram2_8cpp}}{} 4 | \item\contentsline{section}{src/\mbox{\hyperlink{_async_telegram2_8h}{Async\+Telegram2.\+h}} }{\pageref{_async_telegram2_8h}}{} 5 | \item\contentsline{section}{src/\mbox{\hyperlink{_data_structures_8h}{Data\+Structures.\+h}} }{\pageref{_data_structures_8h}}{} 6 | \item\contentsline{section}{src/\mbox{\hyperlink{_inline_keyboard_8cpp}{Inline\+Keyboard.\+cpp}} }{\pageref{_inline_keyboard_8cpp}}{} 7 | \item\contentsline{section}{src/\mbox{\hyperlink{_inline_keyboard_8h}{Inline\+Keyboard.\+h}} }{\pageref{_inline_keyboard_8h}}{} 8 | \item\contentsline{section}{src/\mbox{\hyperlink{_reply_keyboard_8cpp}{Reply\+Keyboard.\+cpp}} }{\pageref{_reply_keyboard_8cpp}}{} 9 | \item\contentsline{section}{src/\mbox{\hyperlink{_reply_keyboard_8h}{Reply\+Keyboard.\+h}} }{\pageref{_reply_keyboard_8h}}{} 10 | \item\contentsline{section}{src/\mbox{\hyperlink{serial__log_8h}{serial\+\_\+log.\+h}} }{\pageref{serial__log_8h}}{} 11 | \item\contentsline{section}{src/\mbox{\hyperlink{tg__certificate_8h}{tg\+\_\+certificate.\+h}} }{\pageref{tg__certificate_8h}}{} 12 | \end{DoxyCompactList} 13 | -------------------------------------------------------------------------------- /docs/html/struct_t_b_message__coll__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "TBMessage" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="TBMessage",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node2 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" member\nsender" ]; 9 | Node2 [label="TBUser",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_user.html",tooltip=" "]; 10 | Node3 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" location" ]; 11 | Node3 [label="TBLocation",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_location.html",tooltip=" "]; 12 | Node4 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" contact" ]; 13 | Node4 [label="TBContact",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_contact.html",tooltip=" "]; 14 | Node5 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" document" ]; 15 | Node5 [label="TBDocument",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_document.html",tooltip=" "]; 16 | } 17 | -------------------------------------------------------------------------------- /docs/latex/struct_t_b_message__coll__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "TBMessage" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="TBMessage",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node2 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" member\nsender" ]; 9 | Node2 [label="TBUser",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_user.html",tooltip=" "]; 10 | Node3 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" location" ]; 11 | Node3 [label="TBLocation",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_location.html",tooltip=" "]; 12 | Node4 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" contact" ]; 13 | Node4 [label="TBContact",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_contact.html",tooltip=" "]; 14 | Node5 -> Node1 [dir="back",color="darkorchid3",style="dashed",label=" document" ]; 15 | Node5 [label="TBDocument",height=0.2,width=0.4,color="gray40", fillcolor="white", style="filled",URL="$struct_t_b_document.html",tooltip=" "]; 16 | } 17 | -------------------------------------------------------------------------------- /docs/html/_reply_keyboard_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 12 | Node1 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 14 | Node4 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 16 | Node4 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 18 | } 19 | -------------------------------------------------------------------------------- /docs/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['id_0',['id',['../struct_t_b_user.html#a7a7bdc57e98059b74049936d3dadf1ae',1,'TBUser::id()'],['../struct_t_b_contact.html#ac7c11fe1902535cdf9006c9f57be8d82',1,'TBContact::id()']]], 4 | ['inlinekeyboard_1',['InlineKeyboard',['../class_inline_keyboard.html',1,'InlineKeyboard'],['../class_inline_keyboard.html#ae8ef8cb1a2bc3c77ba84ea01792691b9',1,'InlineKeyboard::InlineKeyboard()'],['../class_inline_keyboard.html#a421b5ff7326ed4afcef668b01322bf67',1,'InlineKeyboard::InlineKeyboard(const String &keyboard)']]], 5 | ['inlinekeyboard_2ecpp_2',['InlineKeyboard.cpp',['../_inline_keyboard_8cpp.html',1,'']]], 6 | ['inlinekeyboard_2eh_3',['InlineKeyboard.h',['../_inline_keyboard_8h.html',1,'']]], 7 | ['inlinekeyboardbuttontype_4',['InlineKeyboardButtonType',['../_inline_keyboard_8h.html#ac3a8fd74b895df15832c7a4f7b7e8137',1,'InlineKeyboard.h']]], 8 | ['int32_5',['INT32',['../_async_telegram2_8h.html#aac92c5ec332dafe0abb24688dad1b795',1,'AsyncTelegram2.h']]], 9 | ['isbot_6',['isBot',['../struct_t_b_user.html#acf866f0825ebee6f15f320b98ff752a1',1,'TBUser']]], 10 | ['ishtmlenabled_7',['isHTMLenabled',['../struct_t_b_message.html#a26729e11d3faa1b36cd5a671dfaa4cf9',1,'TBMessage']]], 11 | ['ismarkdownenabled_8',['isMarkdownEnabled',['../struct_t_b_message.html#a4c2c5097bb2b4aa72a29f1676dd17386',1,'TBMessage']]] 12 | ]; 13 | -------------------------------------------------------------------------------- /docs/latex/_reply_keyboard_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 12 | Node1 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 14 | Node4 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 16 | Node4 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 18 | } 19 | -------------------------------------------------------------------------------- /docs/man/man3/TBUser.3: -------------------------------------------------------------------------------- 1 | .TH "TBUser" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | TBUser 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Attributes" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "bool \fBisBot\fP" 16 | .br 17 | .ti -1c 18 | .RI "int64_t \fBid\fP = 0" 19 | .br 20 | .ti -1c 21 | .RI "String \fBfirstName\fP" 22 | .br 23 | .ti -1c 24 | .RI "String \fBlastName\fP" 25 | .br 26 | .ti -1c 27 | .RI "String \fBusername\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line \fB22\fP of file \fBDataStructures\&.h\fP\&. 33 | .SH "Member Data Documentation" 34 | .PP 35 | .SS "String TBUser::firstName" 36 | 37 | .PP 38 | Definition at line \fB25\fP of file \fBDataStructures\&.h\fP\&. 39 | .SS "int64_t TBUser::id = 0" 40 | 41 | .PP 42 | Definition at line \fB24\fP of file \fBDataStructures\&.h\fP\&. 43 | .SS "bool TBUser::isBot" 44 | 45 | .PP 46 | Definition at line \fB23\fP of file \fBDataStructures\&.h\fP\&. 47 | .SS "String TBUser::lastName" 48 | 49 | .PP 50 | Definition at line \fB26\fP of file \fBDataStructures\&.h\fP\&. 51 | .SS "String TBUser::username" 52 | 53 | .PP 54 | Definition at line \fB27\fP of file \fBDataStructures\&.h\fP\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 59 | -------------------------------------------------------------------------------- /docs/html/serial__log_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/serial_log.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/serial_log.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 14 | Node4 -> Node2 [dir="back",color="steelblue1",style="solid"]; 15 | Node4 -> Node5 [dir="back",color="steelblue1",style="solid"]; 16 | Node5 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 17 | } 18 | -------------------------------------------------------------------------------- /docs/latex/serial__log_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/serial_log.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/serial_log.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 14 | Node4 -> Node2 [dir="back",color="steelblue1",style="solid"]; 15 | Node4 -> Node5 [dir="back",color="steelblue1",style="solid"]; 16 | Node5 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 17 | } 18 | -------------------------------------------------------------------------------- /docs/man/man3/TBContact.3: -------------------------------------------------------------------------------- 1 | .TH "TBContact" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | TBContact 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Attributes" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int64_t \fBid\fP" 16 | .br 17 | .ti -1c 18 | .RI "String \fBphoneNumber\fP" 19 | .br 20 | .ti -1c 21 | .RI "String \fBfirstName\fP" 22 | .br 23 | .ti -1c 24 | .RI "String \fBlastName\fP" 25 | .br 26 | .ti -1c 27 | .RI "String \fBvCard\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line \fB35\fP of file \fBDataStructures\&.h\fP\&. 33 | .SH "Member Data Documentation" 34 | .PP 35 | .SS "String TBContact::firstName" 36 | 37 | .PP 38 | Definition at line \fB38\fP of file \fBDataStructures\&.h\fP\&. 39 | .SS "int64_t TBContact::id" 40 | 41 | .PP 42 | Definition at line \fB36\fP of file \fBDataStructures\&.h\fP\&. 43 | .SS "String TBContact::lastName" 44 | 45 | .PP 46 | Definition at line \fB39\fP of file \fBDataStructures\&.h\fP\&. 47 | .SS "String TBContact::phoneNumber" 48 | 49 | .PP 50 | Definition at line \fB37\fP of file \fBDataStructures\&.h\fP\&. 51 | .SS "String TBContact::vCard" 52 | 53 | .PP 54 | Definition at line \fB40\fP of file \fBDataStructures\&.h\fP\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 59 | -------------------------------------------------------------------------------- /docs/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /docs/man/man3/TBDocument.3: -------------------------------------------------------------------------------- 1 | .TH "TBDocument" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | TBDocument 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Attributes" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "bool \fBfile_exists\fP" 16 | .br 17 | .ti -1c 18 | .RI "int32_t \fBfile_size\fP" 19 | .br 20 | .ti -1c 21 | .RI "String \fBfile_id\fP" 22 | .br 23 | .ti -1c 24 | .RI "String \fBfile_name\fP" 25 | .br 26 | .ti -1c 27 | .RI "String \fBfile_path\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line \fB43\fP of file \fBDataStructures\&.h\fP\&. 33 | .SH "Member Data Documentation" 34 | .PP 35 | .SS "bool TBDocument::file_exists" 36 | 37 | .PP 38 | Definition at line \fB44\fP of file \fBDataStructures\&.h\fP\&. 39 | .SS "String TBDocument::file_id" 40 | 41 | .PP 42 | Definition at line \fB46\fP of file \fBDataStructures\&.h\fP\&. 43 | .SS "String TBDocument::file_name" 44 | 45 | .PP 46 | Definition at line \fB47\fP of file \fBDataStructures\&.h\fP\&. 47 | .SS "String TBDocument::file_path" 48 | 49 | .PP 50 | Definition at line \fB48\fP of file \fBDataStructures\&.h\fP\&. 51 | .SS "int32_t TBDocument::file_size" 52 | 53 | .PP 54 | Definition at line \fB45\fP of file \fBDataStructures\&.h\fP\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 59 | -------------------------------------------------------------------------------- /docs/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['file_5fexists_0',['file_exists',['../struct_t_b_document.html#a44b4989592d79a3ade348b7fdf010e80',1,'TBDocument']]], 4 | ['file_5fid_1',['file_id',['../struct_t_b_document.html#abc577e94ccfda828dfdcf6a4959c2583',1,'TBDocument']]], 5 | ['file_5fname_2',['file_name',['../struct_t_b_document.html#a6c41149949727bea7502586323748832',1,'TBDocument']]], 6 | ['file_5fpath_3',['file_path',['../struct_t_b_document.html#a5a413708841ec79ea380483b24fcd56a',1,'TBDocument']]], 7 | ['file_5fsize_4',['file_size',['../struct_t_b_document.html#a391a820b470617726194a73f8da17a82',1,'TBDocument']]], 8 | ['firstname_5',['firstName',['../struct_t_b_user.html#a3288745f836368bdc2135303ebfd1e32',1,'TBUser::firstName()'],['../struct_t_b_contact.html#a58515374fabb74b5762a464a8a5aae3a',1,'TBContact::firstName()']]], 9 | ['force_5freply_6',['force_reply',['../struct_t_b_message.html#ae78c22482705295fcab671e7f679f827',1,'TBMessage']]], 10 | ['formatstyle_7',['FormatStyle',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10',1,'AsyncTelegram2']]], 11 | ['forwardmessage_8',['forwardMessage',['../class_async_telegram2.html#ae25e548e6abd3972b442b6d4d14a9a49',1,'AsyncTelegram2']]], 12 | ['fs_5fsupport_9',['FS_SUPPORT',['../_async_telegram2_8h.html#a92cd06ad9805f9c211ecc118697985d2',1,'FS_SUPPORT(): AsyncTelegram2.h'],['../_async_telegram2_8h.html#a92cd06ad9805f9c211ecc118697985d2',1,'FS_SUPPORT(): AsyncTelegram2.h']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Description: 2 | 7 | 8 | ## Type of change: 9 | 14 | 15 | - [ ] Bugfix (non-breaking change which fixes an issue) 16 | - [ ] New feature (non-breaking change which adds functionality) 17 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) 18 | - [ ] Documentation Update (if none of the other choices apply) 19 | 20 | ## Testing: 21 | 24 | 25 | - [ ] merged with the current development branch (before testing) 26 | - [ ] CI build finished without issues 27 | - [ ] Tested on real hardware (List board here) 28 | - [ ] Changes are backward compatible 29 | 30 | ## Checklist: 31 | 34 | 35 | - [ ] My code follows the style guidelines of this project 36 | - [ ] I have performed a self-review of my own code 37 | - [ ] I have commented my code, particularly in hard-to-understand areas 38 | - [ ] I have made corresponding changes to the documentation 39 | 40 | -------------------------------------------------------------------------------- /docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getbotname_0',['getBotName',['../class_async_telegram2.html#a70e697d61940abe3c26020b02634dfb1',1,'AsyncTelegram2']]], 4 | ['getbuttonsnumber_1',['getButtonsNumber',['../class_inline_keyboard.html#aeb603b92da619f62815e3dbf5229ab55',1,'InlineKeyboard']]], 5 | ['getfile_2',['getFile',['../class_async_telegram2.html#a427a550eb618a3f4383b51a3756e7a8b',1,'AsyncTelegram2']]], 6 | ['getgroupid_3',['getGroupId',['../class_async_telegram2.html#a4dc70dbb80911d3253a95ea4a19daa21',1,'AsyncTelegram2']]], 7 | ['getjson_4',['getJSON',['../class_inline_keyboard.html#af533b314d9647a83f6d92e17e6d93e4a',1,'InlineKeyboard::getJSON()'],['../class_reply_keyboard.html#a1412a40e94989ec3aa56ca6ca86f767b',1,'ReplyKeyboard::getJSON()']]], 8 | ['getjsonpretty_5',['getJSONPretty',['../class_inline_keyboard.html#afe7ddbc6793104840a41cea239a0d380',1,'InlineKeyboard::getJSONPretty()'],['../class_reply_keyboard.html#ad0d3c0316256d9e9f830ba62f03f44b9',1,'ReplyKeyboard::getJSONPretty()']]], 9 | ['getme_6',['getMe',['../class_async_telegram2.html#ad4395d7cd810db616b083529ff434ae6',1,'AsyncTelegram2']]], 10 | ['getmycommands_7',['getMyCommands',['../class_async_telegram2.html#a14dc64422808c51a7a14dd3261be575d',1,'AsyncTelegram2']]], 11 | ['getnewmessage_8',['getNewMessage',['../class_async_telegram2.html#a79915206e619151282347de69c1c715d',1,'AsyncTelegram2']]], 12 | ['getupdates_9',['getUpdates',['../class_async_telegram2.html#a6a8e63acbda809e800b7be0ad08d3d87',1,'AsyncTelegram2']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /docs/html/search/functions_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getbotname_0',['getBotName',['../class_async_telegram2.html#a70e697d61940abe3c26020b02634dfb1',1,'AsyncTelegram2']]], 4 | ['getbuttonsnumber_1',['getButtonsNumber',['../class_inline_keyboard.html#aeb603b92da619f62815e3dbf5229ab55',1,'InlineKeyboard']]], 5 | ['getfile_2',['getFile',['../class_async_telegram2.html#a427a550eb618a3f4383b51a3756e7a8b',1,'AsyncTelegram2']]], 6 | ['getgroupid_3',['getGroupId',['../class_async_telegram2.html#a4dc70dbb80911d3253a95ea4a19daa21',1,'AsyncTelegram2']]], 7 | ['getjson_4',['getJSON',['../class_inline_keyboard.html#af533b314d9647a83f6d92e17e6d93e4a',1,'InlineKeyboard::getJSON()'],['../class_reply_keyboard.html#a1412a40e94989ec3aa56ca6ca86f767b',1,'ReplyKeyboard::getJSON()']]], 8 | ['getjsonpretty_5',['getJSONPretty',['../class_inline_keyboard.html#afe7ddbc6793104840a41cea239a0d380',1,'InlineKeyboard::getJSONPretty()'],['../class_reply_keyboard.html#ad0d3c0316256d9e9f830ba62f03f44b9',1,'ReplyKeyboard::getJSONPretty()']]], 9 | ['getme_6',['getMe',['../class_async_telegram2.html#ad4395d7cd810db616b083529ff434ae6',1,'AsyncTelegram2']]], 10 | ['getmycommands_7',['getMyCommands',['../class_async_telegram2.html#a14dc64422808c51a7a14dd3261be575d',1,'AsyncTelegram2']]], 11 | ['getnewmessage_8',['getNewMessage',['../class_async_telegram2.html#a79915206e619151282347de69c1c715d',1,'AsyncTelegram2']]], 12 | ['getupdates_9',['getUpdates',['../class_async_telegram2.html#a6a8e63acbda809e800b7be0ad08d3d87',1,'AsyncTelegram2']]] 13 | ]; 14 | -------------------------------------------------------------------------------- /docs/man/man3/InlineKeyboard.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/InlineKeyboard.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/InlineKeyboard.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | \fC#include 'DataStructures\&.h'\fP 12 | .br 13 | 14 | .SS "Classes" 15 | 16 | .in +1c 17 | .ti -1c 18 | .RI "class \fBInlineKeyboard\fP" 19 | .br 20 | .in -1c 21 | .SS "Macros" 22 | 23 | .in +1c 24 | .ti -1c 25 | .RI "#define \fBARDUINOJSON_USE_LONG_LONG\fP 1" 26 | .br 27 | .ti -1c 28 | .RI "#define \fBARDUINOJSON_DECODE_UNICODE\fP 1" 29 | .br 30 | .in -1c 31 | .SS "Enumerations" 32 | 33 | .in +1c 34 | .ti -1c 35 | .RI "enum \fBInlineKeyboardButtonType\fP { \fBKeyboardButtonURL\fP = 1, \fBKeyboardButtonQuery\fP = 2 }" 36 | .br 37 | .in -1c 38 | .SH "Macro Definition Documentation" 39 | .PP 40 | .SS "#define ARDUINOJSON_DECODE_UNICODE 1" 41 | 42 | .PP 43 | Definition at line \fB6\fP of file \fBInlineKeyboard\&.h\fP\&. 44 | .SS "#define ARDUINOJSON_USE_LONG_LONG 1" 45 | 46 | .PP 47 | Definition at line \fB5\fP of file \fBInlineKeyboard\&.h\fP\&. 48 | .SH "Enumeration Type Documentation" 49 | .PP 50 | .SS "enum \fBInlineKeyboardButtonType\fP" 51 | 52 | .PP 53 | \fBEnumerator\fP 54 | .in +1c 55 | .TP 56 | \fB\fIKeyboardButtonURL \fP\fP 57 | .TP 58 | \fB\fIKeyboardButtonQuery \fP\fP 59 | .PP 60 | Definition at line \fB11\fP of file \fBInlineKeyboard\&.h\fP\&. 61 | .SH "Author" 62 | .PP 63 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 64 | -------------------------------------------------------------------------------- /docs/man/man3/serial_log.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/serial_log.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/serial_log.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | \fC#include \fP 12 | .br 13 | 14 | .SS "Macros" 15 | 16 | .in +1c 17 | .ti -1c 18 | .RI "#define \fBlog_debug\fP(format, \&.\&.\&.)" 19 | .br 20 | .ti -1c 21 | .RI "#define \fBlog_warning\fP(args)" 22 | .br 23 | .ti -1c 24 | .RI "#define \fBlog_info\fP(x)" 25 | .br 26 | .ti -1c 27 | .RI "#define \fBlog_error\fP(x)" 28 | .br 29 | .ti -1c 30 | .RI "#define \fBdebugJson\fP(X, Y)" 31 | .br 32 | .ti -1c 33 | .RI "#define \fBerrorJson\fP(E)" 34 | .br 35 | .in -1c 36 | .SH "Macro Definition Documentation" 37 | .PP 38 | .SS "#define debugJson(X, Y)" 39 | 40 | .PP 41 | Definition at line \fB49\fP of file \fBserial_log\&.h\fP\&. 42 | .SS "#define errorJson(E)" 43 | 44 | .PP 45 | Definition at line \fB50\fP of file \fBserial_log\&.h\fP\&. 46 | .SS "#define log_debug(format, \&.\&.\&.)" 47 | 48 | .PP 49 | Definition at line \fB44\fP of file \fBserial_log\&.h\fP\&. 50 | .SS "#define log_error(x)" 51 | 52 | .PP 53 | Definition at line \fB47\fP of file \fBserial_log\&.h\fP\&. 54 | .SS "#define log_info(x)" 55 | 56 | .PP 57 | Definition at line \fB46\fP of file \fBserial_log\&.h\fP\&. 58 | .SS "#define log_warning(args)" 59 | 60 | .PP 61 | Definition at line \fB45\fP of file \fBserial_log\&.h\fP\&. 62 | .SH "Author" 63 | .PP 64 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 65 | -------------------------------------------------------------------------------- /docs/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['editmessage_0',['editMessage',['../class_async_telegram2.html#af5c03f30c18df9051ffb8052587f7372',1,'AsyncTelegram2::editMessage(int32_t chat_id, int32_t message_id, const String &txt, const String &keyboard)'],['../class_async_telegram2.html#ac2ad70a33b6449e4ed6efd446ef03c28',1,'AsyncTelegram2::editMessage(const TBMessage &msg, const String &txt, const String &keyboard)'],['../class_async_telegram2.html#ab590a7bd09691493c91425f53518fa18',1,'AsyncTelegram2::editMessage(int32_t chat_id, int32_t message_id, const String &txt, InlineKeyboard &keyboard)'],['../class_async_telegram2.html#adf270e109514f7b55b46e3fb07fa8c0b',1,'AsyncTelegram2::editMessage(const TBMessage &msg, const String &txt, InlineKeyboard &keyboard)']]], 4 | ['enableonetime_1',['enableOneTime',['../class_reply_keyboard.html#a2ad89020c1c225a125d18a70bec385e1',1,'ReplyKeyboard']]], 5 | ['enableresize_2',['enableResize',['../class_reply_keyboard.html#a9e82a65c0b9a00a7a9c03a571a158e11',1,'ReplyKeyboard']]], 6 | ['enableselective_3',['enableSelective',['../class_reply_keyboard.html#a32246f430ab3d9efe9bd4496017e1469',1,'ReplyKeyboard']]], 7 | ['end_5fboundary_4',['END_BOUNDARY',['../_async_telegram2_8cpp.html#a24a813330ce8132f9870ebfff57cb601',1,'AsyncTelegram2.cpp']]], 8 | ['endquery_5',['endQuery',['../class_async_telegram2.html#a4e7d5186ea63a6e342503394189cf1c8',1,'AsyncTelegram2']]], 9 | ['errorjson_6',['errorJson',['../serial__log_8h.html#a991ba594d4a025d40d8ca312fdc8f2a7',1,'serial_log.h']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a issue report 4 | 5 | --- 6 | 7 | 16 | 17 | **Build tool used:** 18 | 21 | - [ ] Arudino 22 | - [ ] Platformio (Visual Studio Code plugin) 23 | - [ ] Platformio CLI 24 | - [ ] Other 25 | 26 | **Board used (ESP32/ESP8266/Arudino):** 27 | 30 | - [ ] ESP8266-based 31 | - [ ] ESP32-based 32 | - [ ] Other 33 | 34 | **Other Libraries That are used:** 35 | 38 | 39 | 40 | **Description of problem:** 41 | 42 | 43 | **Share code snippet to reproduce the issue:** 44 | ```yaml 45 | PASTE .cpp / .ino code here 46 | 47 | ``` 48 | 49 | **Additional information and things you've tried:** 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /docs/html/_reply_keyboard_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 14 | Node2 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 16 | Node5 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 18 | Node5 -> Node7 [color="steelblue1",style="solid"]; 19 | Node7 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 20 | } 21 | -------------------------------------------------------------------------------- /docs/latex/_reply_keyboard_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/ReplyKeyboard.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 14 | Node2 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 16 | Node5 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 18 | Node5 -> Node7 [color="steelblue1",style="solid"]; 19 | Node7 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 20 | } 21 | -------------------------------------------------------------------------------- /docs/man/man3/ReplyKeyboard.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/ReplyKeyboard.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/ReplyKeyboard.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | \fC#include 'DataStructures\&.h'\fP 12 | .br 13 | \fC#include 'serial_log\&.h'\fP 14 | .br 15 | 16 | .SS "Classes" 17 | 18 | .in +1c 19 | .ti -1c 20 | .RI "class \fBReplyKeyboard\fP" 21 | .br 22 | .in -1c 23 | .SS "Macros" 24 | 25 | .in +1c 26 | .ti -1c 27 | .RI "#define \fBARDUINOJSON_USE_LONG_LONG\fP 1" 28 | .br 29 | .ti -1c 30 | .RI "#define \fBARDUINOJSON_DECODE_UNICODE\fP 1" 31 | .br 32 | .in -1c 33 | .SS "Enumerations" 34 | 35 | .in +1c 36 | .ti -1c 37 | .RI "enum \fBReplyKeyboardButtonType\fP { \fBKeyboardButtonSimple\fP = 1, \fBKeyboardButtonContact\fP = 2, \fBKeyboardButtonLocation\fP = 3 }" 38 | .br 39 | .in -1c 40 | .SH "Macro Definition Documentation" 41 | .PP 42 | .SS "#define ARDUINOJSON_DECODE_UNICODE 1" 43 | 44 | .PP 45 | Definition at line \fB6\fP of file \fBReplyKeyboard\&.h\fP\&. 46 | .SS "#define ARDUINOJSON_USE_LONG_LONG 1" 47 | 48 | .PP 49 | Definition at line \fB5\fP of file \fBReplyKeyboard\&.h\fP\&. 50 | .SH "Enumeration Type Documentation" 51 | .PP 52 | .SS "enum \fBReplyKeyboardButtonType\fP" 53 | 54 | .PP 55 | \fBEnumerator\fP 56 | .in +1c 57 | .TP 58 | \fB\fIKeyboardButtonSimple \fP\fP 59 | .TP 60 | \fB\fIKeyboardButtonContact \fP\fP 61 | .TP 62 | \fB\fIKeyboardButtonLocation \fP\fP 63 | .PP 64 | Definition at line \fB11\fP of file \fBReplyKeyboard\&.h\fP\&. 65 | .SH "Author" 66 | .PP 67 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 68 | -------------------------------------------------------------------------------- /docs/html/graph_legend.dot: -------------------------------------------------------------------------------- 1 | digraph "Graph Legend" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node9 [label="Inherited",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node10 -> Node9 [dir="back",color="steelblue1",style="solid"]; 9 | Node10 [label="PublicBase",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="url.html",tooltip=" "]; 10 | Node11 -> Node10 [dir="back",color="steelblue1",style="solid"]; 11 | Node11 [label="Truncated",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="url.html",tooltip=" "]; 12 | Node13 -> Node9 [dir="back",color="darkgreen",style="solid"]; 13 | Node13 [label="ProtectedBase",color="gray40",fillcolor="white",style="filled"]; 14 | Node14 -> Node9 [dir="back",color="firebrick4",style="solid"]; 15 | Node14 [label="PrivateBase",color="gray40",fillcolor="white",style="filled"]; 16 | Node15 -> Node9 [dir="back",color="steelblue1",style="solid"]; 17 | Node15 [label="Undocumented",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 18 | Node16 -> Node9 [dir="back",color="steelblue1",style="solid"]; 19 | Node16 [label="Templ\< int \>",color="gray40",fillcolor="white",style="filled"]; 20 | Node17 -> Node16 [dir="back",color="orange",style="dashed",label="< int >",]; 21 | Node17 [label="Templ\< T \>",color="gray40",fillcolor="white",style="filled"]; 22 | Node18 -> Node9 [dir="back",color="darkorchid3",style="dashed",label="m_usedClass",]; 23 | Node18 [label="Used",color="gray40",fillcolor="white",style="filled"]; 24 | } 25 | -------------------------------------------------------------------------------- /pio_ci_ex_ALL.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Build all listed examples of this library on PIO CLI; may take some time 3 | rem Verifies that library and all examples still compile 4 | 5 | setlocal EnableDelayedExpansion enableextensions 6 | set CI_DIR=%~dp0..\async-esp-fs-webserver.pio-ci 7 | set EXAMPLES=simpleServerCaptive simpleServer withWebSocket customHTML customOptions gpio_list handleFormData highcharts remoteOTA esp32-cam 8 | ::set EXAMPLES=simpleServerCaptive 9 | :: simpleServer withWebSocket customHTML 10 | set BOARDS= esp32dev esp12e 11 | set OPT_esp12e=-O "lib_deps=ArduinoJson@6.21.4" 12 | set OPT_esp32dev=-O "lib_deps=ArduinoJson@6.21.4" 13 | set NOT_esp12e=esp32-cam 14 | set NOT_esp32dev=esp8266-app 15 | set EXCLIB= --exclude=lib\*\.git* --exclude=lib\*\.pio --exclude=lib\*\.vscode --exclude=lib\*\built-in-webpages --exclude=lib\*\examples 16 | 17 | FOR %%B IN (%BOARDS%) DO ( 18 | FOR %%E IN (%EXAMPLES%) DO ( 19 | if %%E==!NOT_%%B! ( 20 | echo ### not compiling %%E for %%B 21 | ) else ( 22 | set CIEXDIR=%CI_DIR%\ci_ex_%%B_%%E 23 | IF EXIST "!CIEXDIR!" RMDIR /s/q "!CIEXDIR!" 24 | MKDIR "!CIEXDIR!" 25 | set OPT=!OPT_%%B! 26 | set OUT="!CIEXDIR!\build.out.txt" 27 | set ERR="!CIEXDIR!\build.err.txt" 28 | echo ### Compiling %%E for %%B 29 | echo +pio ci -b %%B !OPT! --keep-build-dir --build-dir="!CIEXDIR!\" --lib=. %EXCLIB% .\examples\%%E\*.* 1^>!OUT! 2^>!ERR! 30 | pio ci -b %%B !OPT! --keep-build-dir --build-dir="!CIEXDIR!" --lib=. %EXCLIB% .\examples\%%E\*.* >!OUT! 2>!ERR! 31 | FOR /f %%i IN (!ERR!) DO IF EXIST %%i IF %%~zi GTR 0 ECHO ###ERROR in %%i && TYPE %%i 32 | ) 33 | echo ### DONE 34 | ) 35 | ) 36 | 37 | :: note activation pio verbose option '-v' generates a lot of output (~25k/compile, ~2MB/pio-ci) 38 | 39 | -------------------------------------------------------------------------------- /docs/latex/make.bat: -------------------------------------------------------------------------------- 1 | set Dir_Old=%cd% 2 | cd /D %~dp0 3 | 4 | 5 | set ORG_LATEX_CMD=%LATEX_CMD% 6 | set ORG_MKIDX_CMD=%MKIDX_CMD% 7 | set ORG_BIBTEX_CMD=%BIBTEX_CMD% 8 | set ORG_LATEX_COUNT=%LATEX_COUNT% 9 | set ORG_MANUAL_FILE=%MANUAL_FILE% 10 | if "X"%LATEX_CMD% == "X" set LATEX_CMD=pdflatex 11 | if "X"%MKIDX_CMD% == "X" set MKIDX_CMD=makeindex 12 | if "X"%BIBTEX_CMD% == "X" set BIBTEX_CMD=bibtex 13 | if "X"%LATEX_COUNT% == "X" set LATEX_COUNT=8 14 | if "X"%MANUAL_FILE% == "X" set MANUAL_FILE=refman 15 | 16 | del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl %MANUAL_FILE%.pdf 17 | 18 | 19 | %LATEX_CMD% %MANUAL_FILE% 20 | echo ---- 21 | %MKIDX_CMD% %MANUAL_FILE%.idx 22 | echo ---- 23 | %LATEX_CMD% %MANUAL_FILE% 24 | 25 | setlocal enabledelayedexpansion 26 | set count=%LATEX_COUNT% 27 | :repeat 28 | set content=X 29 | for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" %MANUAL_FILE%.log' ) do set content="%%~T" 30 | if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" %MANUAL_FILE%.log' ) do set content="%%~T" 31 | if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get bibliographical references right" %MANUAL_FILE%.log' ) do set content="%%~T" 32 | if !content! == X goto :skip 33 | set /a count-=1 34 | if !count! EQU 0 goto :skip 35 | 36 | echo ---- 37 | %LATEX_CMD% %MANUAL_FILE% 38 | goto :repeat 39 | :skip 40 | endlocal 41 | %MKIDX_CMD% %MANUAL_FILE%.idx 42 | %LATEX_CMD% %MANUAL_FILE% 43 | 44 | @REM reset environment 45 | cd /D %Dir_Old% 46 | set Dir_Old= 47 | set LATEX_CMD=%ORG_LATEX_CMD% 48 | set ORG_LATEX_CMD= 49 | set MKIDX_CMD=%ORG_MKIDX_CMD% 50 | set ORG_MKIDX_CMD= 51 | set BIBTEX_CMD=%ORG_BIBTEX_CMD% 52 | set ORG_BIBTEX_CMD= 53 | set MANUAL_FILE=%ORG_MANUAL_FILE% 54 | set ORG_MANUAL_FILE= 55 | set LATEX_COUNT=%ORG_LATEX_COUNT% 56 | set ORG_LATEX_COUNT= 57 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['markdown_0',['MARKDOWN',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10abe53632e1a588b53f88ca5785ad107f0',1,'AsyncTelegram2']]], 4 | ['messagecontact_1',['MessageContact',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013ac21bc2b1523bb02a1c59309e8b731fe1',1,'DataStructures.h']]], 5 | ['messagedocument_2',['MessageDocument',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a00c13e51748441c150708f872958f9bf',1,'DataStructures.h']]], 6 | ['messageforwarded_3',['MessageForwarded',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a37468e385f9166fe5d7650d2434b1de4',1,'DataStructures.h']]], 7 | ['messageleftmember_4',['MessageLeftMember',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013af78485bf4d25aa3d7538554106eb8705',1,'DataStructures.h']]], 8 | ['messagelocation_5',['MessageLocation',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013aaabcafa1fff25bdbf94e371cb54179d8',1,'DataStructures.h']]], 9 | ['messagenewmember_6',['MessageNewMember',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a36b8eb4d4689ede17d158b608da5b541',1,'DataStructures.h']]], 10 | ['messagenodata_7',['MessageNoData',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a8172bf8ec594eb409432f26d55de6268',1,'DataStructures.h']]], 11 | ['messagequery_8',['MessageQuery',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013ac14c734b9662254c9072ecc6b7494830',1,'DataStructures.h']]], 12 | ['messagereply_9',['MessageReply',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a97f2e195f3252f74e85a1fe25fe26558',1,'DataStructures.h']]], 13 | ['messagetext_10',['MessageText',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a48e20971b311ab6bbf2a2de2ca281a53',1,'DataStructures.h']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /docs/html/_data_structures_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/DataStructures.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/DataStructures.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 14 | Node4 -> Node2 [dir="back",color="steelblue1",style="solid"]; 15 | Node4 -> Node5 [dir="back",color="steelblue1",style="solid"]; 16 | Node5 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8cpp.html",tooltip=" "]; 17 | Node1 -> Node6 [dir="back",color="steelblue1",style="solid"]; 18 | Node6 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 19 | Node6 -> Node2 [dir="back",color="steelblue1",style="solid"]; 20 | Node6 -> Node7 [dir="back",color="steelblue1",style="solid"]; 21 | Node7 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 22 | } 23 | -------------------------------------------------------------------------------- /docs/latex/_data_structures_8h__dep__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/DataStructures.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/DataStructures.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [dir="back",color="steelblue1",style="solid"]; 9 | Node2 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [dir="back",color="steelblue1",style="solid"]; 11 | Node3 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8cpp.html",tooltip=" "]; 12 | Node1 -> Node4 [dir="back",color="steelblue1",style="solid"]; 13 | Node4 [label="src/InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 14 | Node4 -> Node2 [dir="back",color="steelblue1",style="solid"]; 15 | Node4 -> Node5 [dir="back",color="steelblue1",style="solid"]; 16 | Node5 [label="src/InlineKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8cpp.html",tooltip=" "]; 17 | Node1 -> Node6 [dir="back",color="steelblue1",style="solid"]; 18 | Node6 [label="src/ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 19 | Node6 -> Node2 [dir="back",color="steelblue1",style="solid"]; 20 | Node6 -> Node7 [dir="back",color="steelblue1",style="solid"]; 21 | Node7 [label="src/ReplyKeyboard.cpp",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8cpp.html",tooltip=" "]; 22 | } 23 | -------------------------------------------------------------------------------- /src/DataStructures.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef DATA_STRUCTURES 3 | #define DATA_STRUCTURES 4 | 5 | #define BUFFER_BIG 2048 // json parser buffer size (ArduinoJson v6) 6 | #define BUFFER_MEDIUM 1024 // json parser buffer size (ArduinoJson v6) 7 | #define BUFFER_SMALL 512 // json parser buffer size (ArduinoJson v6) 8 | 9 | enum MessageType { 10 | MessageNoData = 0, 11 | MessageText = 1, 12 | MessageQuery = 2, 13 | MessageLocation = 3, 14 | MessageContact = 4, 15 | MessageDocument = 5, 16 | MessageReply = 6, 17 | MessageNewMember = 7, 18 | MessageLeftMember =8, 19 | MessageForwarded = 9 20 | }; 21 | 22 | struct TBUser { 23 | bool isBot; 24 | int64_t id = 0; 25 | String firstName; 26 | String lastName; 27 | String username; 28 | }; 29 | 30 | struct TBLocation{ 31 | float longitude; 32 | float latitude; 33 | }; 34 | 35 | struct TBContact { 36 | int64_t id; 37 | String phoneNumber; 38 | String firstName; 39 | String lastName; 40 | String vCard; 41 | }; 42 | 43 | struct TBDocument { 44 | bool file_exists; 45 | int32_t file_size; 46 | String file_id; 47 | String file_name; 48 | String file_path; 49 | }; 50 | 51 | struct TBMessage { 52 | MessageType messageType; 53 | bool isHTMLenabled = true; 54 | bool isMarkdownEnabled = false; 55 | bool disable_notification = false; 56 | bool force_reply = false; 57 | int32_t date; 58 | int32_t chatInstance; 59 | int64_t chatId; 60 | int32_t messageID; 61 | TBUser sender; 62 | TBUser member; // A user enter or leave a group 63 | TBLocation location; 64 | TBContact contact; 65 | TBDocument document; 66 | int64_t callbackQueryID; 67 | String callbackQueryData; 68 | String text; 69 | }; 70 | 71 | #endif 72 | 73 | -------------------------------------------------------------------------------- /docs/latex/struct_t_b_location.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{struct_t_b_location}{}\doxysection{TBLocation Struct Reference} 2 | \label{struct_t_b_location}\index{TBLocation@{TBLocation}} 3 | 4 | 5 | {\ttfamily \#include $<$Data\+Structures.\+h$>$} 6 | 7 | \doxysubsection*{Public Attributes} 8 | \begin{DoxyCompactItemize} 9 | \item 10 | float \mbox{\hyperlink{struct_t_b_location_a5fcb184937d38dca6b3be17627223d4e}{longitude}} 11 | \item 12 | float \mbox{\hyperlink{struct_t_b_location_a35ea558308a99e9df3e23ca81cdb032b}{latitude}} 13 | \end{DoxyCompactItemize} 14 | 15 | 16 | \doxysubsection{Detailed Description} 17 | 18 | 19 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00030}{30}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 20 | 21 | 22 | 23 | \doxysubsection{Member Data Documentation} 24 | \mbox{\Hypertarget{struct_t_b_location_a35ea558308a99e9df3e23ca81cdb032b}\label{struct_t_b_location_a35ea558308a99e9df3e23ca81cdb032b}} 25 | \index{TBLocation@{TBLocation}!latitude@{latitude}} 26 | \index{latitude@{latitude}!TBLocation@{TBLocation}} 27 | \doxysubsubsection{\texorpdfstring{latitude}{latitude}} 28 | {\footnotesize\ttfamily float TBLocation\+::latitude} 29 | 30 | 31 | 32 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00032}{32}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 33 | 34 | \mbox{\Hypertarget{struct_t_b_location_a5fcb184937d38dca6b3be17627223d4e}\label{struct_t_b_location_a5fcb184937d38dca6b3be17627223d4e}} 35 | \index{TBLocation@{TBLocation}!longitude@{longitude}} 36 | \index{longitude@{longitude}!TBLocation@{TBLocation}} 37 | \doxysubsubsection{\texorpdfstring{longitude}{longitude}} 38 | {\footnotesize\ttfamily float TBLocation\+::longitude} 39 | 40 | 41 | 42 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00031}{31}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 43 | 44 | 45 | 46 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 47 | \item 48 | src/\mbox{\hyperlink{_data_structures_8h}{Data\+Structures.\+h}}\end{DoxyCompactItemize} 49 | -------------------------------------------------------------------------------- /src/ReplyKeyboard.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef REPLY_KEYBOARD 3 | #define REPLY_KEYBOARD 4 | 5 | #define ARDUINOJSON_USE_LONG_LONG 1 6 | #define ARDUINOJSON_DECODE_UNICODE 1 7 | #include 8 | #include "DataStructures.h" 9 | 10 | #if ARDUINOJSON_VERSION_MAJOR > 6 11 | #define JSON_DOC(x) JsonDocument root 12 | #else 13 | #define JSON_DOC(x) DynamicJsonDocument root((size_t)x) 14 | #endif 15 | 16 | enum ReplyKeyboardButtonType { 17 | KeyboardButtonSimple = 1, 18 | KeyboardButtonContact = 2, 19 | KeyboardButtonLocation = 3 20 | }; 21 | 22 | 23 | class ReplyKeyboard 24 | { 25 | private: 26 | String m_json; 27 | size_t m_jsonSize; 28 | 29 | public: 30 | ReplyKeyboard(size_t size = BUFFER_SMALL); 31 | ~ReplyKeyboard(); 32 | 33 | // add a new empty row of buttons 34 | // return: 35 | // true if no error occurred 36 | bool addRow(void); 37 | 38 | // add a button in the current row 39 | // params: 40 | // text : the text displayed as button label 41 | // buttonType: the type of the button (simple text, contact request, location request) 42 | // return: 43 | // true if no error occurred 44 | bool addButton(const char* text, ReplyKeyboardButtonType buttonType = KeyboardButtonSimple); 45 | 46 | // enable reply keyboard autoresizing (default: the same size of the standard keyboard) 47 | void enableResize(void); 48 | 49 | // hide the reply keyboard as soon as it's been used 50 | void enableOneTime(void); 51 | 52 | // Use this parameter if you want to show the keyboard for specific users only. 53 | // Targets: 1) users that are @mentioned in the text of the Message object; 54 | // 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message 55 | void enableSelective(void); 56 | 57 | // generate a string that contains the inline keyboard formatted in a JSON structure. 58 | // returns: 59 | // the JSON of the inline keyboard 60 | String getJSON(void); 61 | String getJSONPretty(); 62 | 63 | 64 | inline void clear() { 65 | m_json = "{\"keyboard\":[[]]}\""; 66 | } 67 | }; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /docs/man/man3/DataStructures.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/DataStructures.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/DataStructures.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .SS "Classes" 10 | 11 | .in +1c 12 | .ti -1c 13 | .RI "struct \fBTBUser\fP" 14 | .br 15 | .ti -1c 16 | .RI "struct \fBTBLocation\fP" 17 | .br 18 | .ti -1c 19 | .RI "struct \fBTBContact\fP" 20 | .br 21 | .ti -1c 22 | .RI "struct \fBTBDocument\fP" 23 | .br 24 | .ti -1c 25 | .RI "struct \fBTBMessage\fP" 26 | .br 27 | .in -1c 28 | .SS "Macros" 29 | 30 | .in +1c 31 | .ti -1c 32 | .RI "#define \fBBUFFER_BIG\fP 2048" 33 | .br 34 | .ti -1c 35 | .RI "#define \fBBUFFER_MEDIUM\fP 1024" 36 | .br 37 | .ti -1c 38 | .RI "#define \fBBUFFER_SMALL\fP 512" 39 | .br 40 | .in -1c 41 | .SS "Enumerations" 42 | 43 | .in +1c 44 | .ti -1c 45 | .RI "enum \fBMessageType\fP { \fBMessageNoData\fP = 0, \fBMessageText\fP = 1, \fBMessageQuery\fP = 2, \fBMessageLocation\fP = 3, \fBMessageContact\fP = 4, \fBMessageDocument\fP = 5, \fBMessageReply\fP = 6, \fBMessageNewMember\fP = 7, \fBMessageLeftMember\fP =8, \fBMessageForwarded\fP = 9 }" 46 | .br 47 | .in -1c 48 | .SH "Macro Definition Documentation" 49 | .PP 50 | .SS "#define BUFFER_BIG 2048" 51 | 52 | .PP 53 | Definition at line \fB5\fP of file \fBDataStructures\&.h\fP\&. 54 | .SS "#define BUFFER_MEDIUM 1024" 55 | 56 | .PP 57 | Definition at line \fB6\fP of file \fBDataStructures\&.h\fP\&. 58 | .SS "#define BUFFER_SMALL 512" 59 | 60 | .PP 61 | Definition at line \fB7\fP of file \fBDataStructures\&.h\fP\&. 62 | .SH "Enumeration Type Documentation" 63 | .PP 64 | .SS "enum \fBMessageType\fP" 65 | 66 | .PP 67 | \fBEnumerator\fP 68 | .in +1c 69 | .TP 70 | \fB\fIMessageNoData \fP\fP 71 | .TP 72 | \fB\fIMessageText \fP\fP 73 | .TP 74 | \fB\fIMessageQuery \fP\fP 75 | .TP 76 | \fB\fIMessageLocation \fP\fP 77 | .TP 78 | \fB\fIMessageContact \fP\fP 79 | .TP 80 | \fB\fIMessageDocument \fP\fP 81 | .TP 82 | \fB\fIMessageReply \fP\fP 83 | .TP 84 | \fB\fIMessageNewMember \fP\fP 85 | .TP 86 | \fB\fIMessageLeftMember \fP\fP 87 | .TP 88 | \fB\fIMessageForwarded \fP\fP 89 | .PP 90 | Definition at line \fB9\fP of file \fBDataStructures\&.h\fP\&. 91 | .SH "Author" 92 | .PP 93 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 94 | -------------------------------------------------------------------------------- /platformio.ini: -------------------------------------------------------------------------------- 1 | [platformio] 2 | default_envs = arduino-2, arduino-3, esp8266 3 | lib_dir = . 4 | 5 | [env] 6 | framework = arduino 7 | platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13/platform-espressif32.zip 8 | board = esp32dev 9 | build_flags = 10 | -Og 11 | -Wall -Wextra 12 | -Wno-unused-parameter 13 | ; -D CONFIG_ARDUHAL_LOG_COLORS 14 | -D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE 15 | -D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 16 | -D CONFIG_ASYNC_TCP_PRIORITY=10 17 | -D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 18 | -D CONFIG_ASYNC_TCP_RUNNING_CORE=1 19 | -D CONFIG_ASYNC_TCP_STACK_SIZE=4096 20 | upload_protocol = esptool 21 | monitor_speed = 115200 22 | monitor_filters = esp32_exception_decoder, log2file 23 | ; monitor_filters = esp8266_exception_decoder, log2file 24 | lib_compat_mode = strict 25 | lib_ldf_mode = chain 26 | lib_deps = 27 | bblanchon/ArduinoJson @ 7.3.1 28 | 29 | board_build.partitions = partitions-4MB.csv 30 | board_build.filesystem = littlefs 31 | 32 | [env:arduino-2] 33 | platform = espressif32@6.10.0 34 | 35 | [env:arduino-3] 36 | 37 | [env:arduino-3-latest] 38 | platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20-rc1/platform-espressif32.zip 39 | 40 | [env:arduino-3-no-chunk-inflight] 41 | build_flags = ${env.build_flags} 42 | -D ASYNCWEBSERVER_USE_CHUNK_INFLIGHT=0 43 | 44 | [env:esp8266] 45 | platform = espressif8266 46 | ; board = huzzah 47 | board = d1_mini 48 | lib_deps = 49 | bblanchon/ArduinoJson @ 7.3.1 50 | 51 | [env:ci-arduino-2] 52 | platform = espressif32@6.10.0 53 | board = ${sysenv.PIO_BOARD} 54 | 55 | [env:ci-arduino-3] 56 | board = ${sysenv.PIO_BOARD} 57 | 58 | [env:ci-arduino-3-latest] 59 | platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20-rc1/platform-espressif32.zip 60 | board = ${sysenv.PIO_BOARD} 61 | 62 | [env:ci-arduino-3-latest-asynctcp] 63 | lib_deps = 64 | bblanchon/ArduinoJson @ 7.3.1 65 | 66 | [env:ci-arduino-3-no-chunk-inflight] 67 | board = ${sysenv.PIO_BOARD} 68 | build_flags = ${env.build_flags} 69 | -D ASYNCWEBSERVER_USE_CHUNK_INFLIGHT=1 70 | 71 | [env:ci-esp8266] 72 | platform = espressif8266 73 | board = ${sysenv.PIO_BOARD} 74 | lib_deps = 75 | bblanchon/ArduinoJson @ 7.3.1 76 | -------------------------------------------------------------------------------- /src/serial_log.h: -------------------------------------------------------------------------------- 1 | #ifndef __LOG_H__ 2 | #define __LOG_H__ 3 | 4 | #include 5 | #include 6 | 7 | #ifdef __cplusplus 8 | extern "C" 9 | { 10 | #endif 11 | 12 | // #define _LOG_FORMAT(letter, format) "\n[" #letter "][%s:%u] %s():\t" format, __FILE_NAME__, __LINE__, __FUNCTION__ 13 | 14 | #if DEBUG_ENABLE 15 | // Windows 16 | #define __FILE_NAME__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) 17 | // Linux, Mac 18 | // #define __FILE_NAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) 19 | #if defined(ESP32) || defined(ESP8266) 20 | #define PRINT_TIME() {struct tm t; time_t now = time(nullptr); t = *localtime(&now); \ 21 | char str[30]; strftime(str, sizeof(str), "%c", &t); Serial.print(str);} 22 | #else 23 | #define PRINT_TIME() Serial.print(millis()); 24 | #endif 25 | 26 | 27 | #define PRINT_FILE_LINE() {PRINT_TIME() Serial.print(" [");Serial.print(__FILE_NAME__); \ 28 | Serial.print(":");Serial.print(__LINE__);Serial.print(" "); Serial.print(__FUNCTION__); Serial.print("()]\t");} 29 | #if defined(ESP32) || defined(ESP8266) 30 | #define log_debug(format, args...) { PRINT_FILE_LINE() Serial.printf(format, args); Serial.println();} 31 | #else 32 | #define log_debug(format, args...) { PRINT_FILE_LINE() char buf[250]; sprintf(buf, format, args); Serial.println(buf);} 33 | #endif 34 | 35 | #define log_error(x) {PRINT_FILE_LINE() Serial.println(x);} 36 | #define log_info(x) { PRINT_FILE_LINE() Serial.println(x);} 37 | #define log_warning(args) { PRINT_FILE_LINE() Serial.print("-W-"); Serial.println(args);} 38 | // #define log_debug(format, ...) Serial.printf(_LOG_FORMAT(D, format), ##__VA_ARGS__) 39 | // #define log_error(format, ...) { Serial.println(); Serial.printf(_LOG_FORMAT(E, format), ##__VA_ARGS__); } 40 | #define debugJson(X, Y) { PRINT_FILE_LINE() Serial.println(); serializeJsonPretty(X, Y); Serial.println();} 41 | #define errorJson(E) { PRINT_FILE_LINE() Serial.println(); Serial.println(E); } 42 | 43 | #else 44 | #define log_debug(format, ...) 45 | #define log_warning(args) 46 | #define log_info(x) 47 | #define log_error(x) 48 | 49 | #define debugJson(X, Y) 50 | #define errorJson(E) 51 | #endif 52 | 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /docs/html/_async_telegram2_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="Client.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node1 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 14 | Node1 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 16 | Node1 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 18 | Node6 -> Node2 [color="steelblue1",style="solid"]; 19 | Node6 -> Node5 [color="steelblue1",style="solid"]; 20 | Node1 -> Node7 [color="steelblue1",style="solid"]; 21 | Node7 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 22 | Node7 -> Node2 [color="steelblue1",style="solid"]; 23 | Node7 -> Node5 [color="steelblue1",style="solid"]; 24 | Node7 -> Node8 [color="steelblue1",style="solid"]; 25 | Node8 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 26 | Node8 -> Node9 [color="steelblue1",style="solid"]; 27 | Node9 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 28 | Node8 -> Node10 [color="steelblue1",style="solid"]; 29 | Node10 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 30 | Node1 -> Node8 [color="steelblue1",style="solid"]; 31 | } 32 | -------------------------------------------------------------------------------- /docs/latex/_async_telegram2_8h__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.h" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 10 | Node1 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="Client.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node1 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 14 | Node1 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 16 | Node1 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 18 | Node6 -> Node2 [color="steelblue1",style="solid"]; 19 | Node6 -> Node5 [color="steelblue1",style="solid"]; 20 | Node1 -> Node7 [color="steelblue1",style="solid"]; 21 | Node7 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 22 | Node7 -> Node2 [color="steelblue1",style="solid"]; 23 | Node7 -> Node5 [color="steelblue1",style="solid"]; 24 | Node7 -> Node8 [color="steelblue1",style="solid"]; 25 | Node8 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 26 | Node8 -> Node9 [color="steelblue1",style="solid"]; 27 | Node9 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 28 | Node8 -> Node10 [color="steelblue1",style="solid"]; 29 | Node10 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 30 | Node1 -> Node8 [color="steelblue1",style="solid"]; 31 | } 32 | -------------------------------------------------------------------------------- /docs/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['addbutton_0',['addButton',['../class_inline_keyboard.html#a1451827b7fa83562282e797767eacd1b',1,'InlineKeyboard::addButton()'],['../class_reply_keyboard.html#adda6537abe25904581c879d6a3bb3ddb',1,'ReplyKeyboard::addButton()']]], 4 | ['addinlinekeyboard_1',['addInlineKeyboard',['../class_async_telegram2.html#a4b412a4052949ecad188e5eef0034f6f',1,'AsyncTelegram2']]], 5 | ['addrow_2',['addRow',['../class_inline_keyboard.html#a39885c6fb2a210ad103f2f7f601d7068',1,'InlineKeyboard::addRow()'],['../class_reply_keyboard.html#ad4513c5a41f494ad2a46a26a77d14034',1,'ReplyKeyboard::addRow()']]], 6 | ['addsentcallback_3',['addSentCallback',['../class_async_telegram2.html#a657bb83c9330fa6082b57e66f192a190',1,'AsyncTelegram2']]], 7 | ['animation_4',['ANIMATION',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea6324e6c44aca79c415ab660fce156c9f',1,'AsyncTelegram2']]], 8 | ['arduinojson_5fdecode_5funicode_5',['ARDUINOJSON_DECODE_UNICODE',['../_async_telegram2_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): AsyncTelegram2.h'],['../_inline_keyboard_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): InlineKeyboard.h'],['../_reply_keyboard_8h.html#a335b842b5c1d56001f7bb14a0da46990',1,'ARDUINOJSON_DECODE_UNICODE(): ReplyKeyboard.h']]], 9 | ['arduinojson_5fuse_5flong_5flong_6',['ARDUINOJSON_USE_LONG_LONG',['../_async_telegram2_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): AsyncTelegram2.h'],['../_inline_keyboard_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): InlineKeyboard.h'],['../_reply_keyboard_8h.html#ad04364871efb11788ea94d5f5417072c',1,'ARDUINOJSON_USE_LONG_LONG(): ReplyKeyboard.h']]], 10 | ['asynctelegram2_7',['AsyncTelegram2',['../class_async_telegram2.html',1,'AsyncTelegram2'],['../class_inline_keyboard.html#a92dfb3d8c63f36b84acc8554de69dfab',1,'InlineKeyboard::AsyncTelegram2()'],['../class_async_telegram2.html#aa2da6b68a537f30474f2e0540f895372',1,'AsyncTelegram2::AsyncTelegram2()']]], 11 | ['asynctelegram2_2ecpp_8',['AsyncTelegram2.cpp',['../_async_telegram2_8cpp.html',1,'']]], 12 | ['asynctelegram2_2eh_9',['AsyncTelegram2.h',['../_async_telegram2_8h.html',1,'']]], 13 | ['audio_10',['AUDIO',['../class_async_telegram2.html#a4b9de602dc77a24e010788bb6d8ae3cea67c24f091f3223c581ebd5ec87fa8f63',1,'AsyncTelegram2']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /src/InlineKeyboard.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef INLINE_KEYBOARD 3 | #define INLINE_KEYBOARD 4 | 5 | #define ARDUINOJSON_USE_LONG_LONG 1 6 | #define ARDUINOJSON_DECODE_UNICODE 1 7 | #include 8 | #include "DataStructures.h" 9 | 10 | #if ARDUINOJSON_VERSION_MAJOR > 6 11 | #define JSON_DOC(x) JsonDocument root 12 | #else 13 | #define JSON_DOC(x) DynamicJsonDocument root((size_t)x) 14 | #endif 15 | 16 | enum InlineKeyboardButtonType { 17 | KeyboardButtonURL = 1, 18 | KeyboardButtonQuery = 2 19 | }; 20 | 21 | 22 | class InlineKeyboard 23 | { 24 | typedef void(*CallbackType)(const TBMessage &msg); 25 | //using CallbackType = std::function; 26 | 27 | struct InlineButton{ 28 | char *btnName; 29 | CallbackType argCallback; 30 | InlineButton *nextButton; 31 | } ; 32 | 33 | public: 34 | InlineKeyboard(size_t size = BUFFER_SMALL); 35 | InlineKeyboard(const String& keyboard, size_t size = BUFFER_SMALL); 36 | ~InlineKeyboard(); 37 | 38 | // Get total number of keyboard buttons 39 | int getButtonsNumber() ; 40 | 41 | // add a new empty row of buttons 42 | // return: 43 | // true if no error occurred 44 | bool addRow(void); 45 | 46 | // add a button in the current row 47 | // params: 48 | // text : the text displayed as button label 49 | // command: URL (if buttonType is CTBotKeyboardButtonURL) 50 | // callback query data (if buttonType is CTBotKeyboardButtonQuery) 51 | // return: 52 | // true if no error occurred 53 | bool addButton(const char* text, const char* command, InlineKeyboardButtonType buttonType, CallbackType onClick = nullptr); 54 | 55 | // generate a string that contains the inline keyboard formatted in a JSON structure. 56 | // Useful for CTBot::sendMessage() 57 | // returns: 58 | // the JSON of the inline keyboard 59 | String getJSON(void) const ; 60 | String getJSONPretty(void) const; 61 | 62 | inline void clear() { 63 | m_json = "{\"inline_keyboard\":[[]]}\""; 64 | } 65 | 66 | private: 67 | friend class AsyncTelegram2; 68 | size_t m_jsonSize; 69 | String m_json; 70 | String m_name; 71 | 72 | uint8_t m_buttonsCounter = 0; 73 | InlineButton *_firstButton = nullptr; 74 | InlineButton *_lastButton = nullptr; 75 | 76 | // Check if a callback function has to be called for a button query reply message 77 | void checkCallback(const TBMessage &msg) ; 78 | 79 | }; 80 | 81 | 82 | 83 | #endif 84 | -------------------------------------------------------------------------------- /docs/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['markdown_0',['MARKDOWN',['../class_async_telegram2.html#a18e57e92ff8d8d1c919b1852423b5d10abe53632e1a588b53f88ca5785ad107f0',1,'AsyncTelegram2']]], 4 | ['max_5finlinekyb_5fcb_1',['MAX_INLINEKYB_CB',['../_async_telegram2_8h.html#a85de2cafcff35d732ec228bd96634080',1,'AsyncTelegram2.h']]], 5 | ['member_2',['member',['../struct_t_b_message.html#a254e3de624772a0a9df76b04687bd08b',1,'TBMessage']]], 6 | ['messagecontact_3',['MessageContact',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013ac21bc2b1523bb02a1c59309e8b731fe1',1,'DataStructures.h']]], 7 | ['messagedocument_4',['MessageDocument',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a00c13e51748441c150708f872958f9bf',1,'DataStructures.h']]], 8 | ['messageforwarded_5',['MessageForwarded',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a37468e385f9166fe5d7650d2434b1de4',1,'DataStructures.h']]], 9 | ['messageid_6',['messageID',['../struct_t_b_message.html#aee364e5f0224df393743e21268f66bbd',1,'TBMessage']]], 10 | ['messageleftmember_7',['MessageLeftMember',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013af78485bf4d25aa3d7538554106eb8705',1,'DataStructures.h']]], 11 | ['messagelocation_8',['MessageLocation',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013aaabcafa1fff25bdbf94e371cb54179d8',1,'DataStructures.h']]], 12 | ['messagenewmember_9',['MessageNewMember',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a36b8eb4d4689ede17d158b608da5b541',1,'DataStructures.h']]], 13 | ['messagenodata_10',['MessageNoData',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a8172bf8ec594eb409432f26d55de6268',1,'DataStructures.h']]], 14 | ['messagequery_11',['MessageQuery',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013ac14c734b9662254c9072ecc6b7494830',1,'DataStructures.h']]], 15 | ['messagereply_12',['MessageReply',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a97f2e195f3252f74e85a1fe25fe26558',1,'DataStructures.h']]], 16 | ['messagetext_13',['MessageText',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013a48e20971b311ab6bbf2a2de2ca281a53',1,'DataStructures.h']]], 17 | ['messagetype_14',['messageType',['../struct_t_b_message.html#aaf84d19c6bfc71c449f711740d42627d',1,'TBMessage']]], 18 | ['messagetype_15',['MessageType',['../_data_structures_8h.html#ac6606ebe91c8ac66a2c314c79f5ab013',1,'DataStructures.h']]], 19 | ['min_5fupdate_5ftime_16',['MIN_UPDATE_TIME',['../_async_telegram2_8h.html#a96ea578243c3f7e4a5f527b26d4b486b',1,'AsyncTelegram2.h']]] 20 | ]; 21 | -------------------------------------------------------------------------------- /docs/html/_async_telegram2_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="Client.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 14 | Node2 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 16 | Node2 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 18 | Node2 -> Node7 [color="steelblue1",style="solid"]; 19 | Node7 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 20 | Node7 -> Node3 [color="steelblue1",style="solid"]; 21 | Node7 -> Node6 [color="steelblue1",style="solid"]; 22 | Node2 -> Node8 [color="steelblue1",style="solid"]; 23 | Node8 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 24 | Node8 -> Node3 [color="steelblue1",style="solid"]; 25 | Node8 -> Node6 [color="steelblue1",style="solid"]; 26 | Node8 -> Node9 [color="steelblue1",style="solid"]; 27 | Node9 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 28 | Node9 -> Node10 [color="steelblue1",style="solid"]; 29 | Node10 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 30 | Node9 -> Node11 [color="steelblue1",style="solid"]; 31 | Node11 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 32 | Node2 -> Node9 [color="steelblue1",style="solid"]; 33 | } 34 | -------------------------------------------------------------------------------- /docs/latex/_async_telegram2_8cpp__incl.dot: -------------------------------------------------------------------------------- 1 | digraph "src/AsyncTelegram2.cpp" 2 | { 3 | // LATEX_PDF_SIZE 4 | bgcolor="transparent"; 5 | edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10]; 6 | node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4]; 7 | Node1 [label="src/AsyncTelegram2.cpp",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "]; 8 | Node1 -> Node2 [color="steelblue1",style="solid"]; 9 | Node2 [label="AsyncTelegram2.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_async_telegram2_8h.html",tooltip=" "]; 10 | Node2 -> Node3 [color="steelblue1",style="solid"]; 11 | Node3 [label="ArduinoJson.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 12 | Node2 -> Node4 [color="steelblue1",style="solid"]; 13 | Node4 [label="Client.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 14 | Node2 -> Node5 [color="steelblue1",style="solid"]; 15 | Node5 [label="time.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 16 | Node2 -> Node6 [color="steelblue1",style="solid"]; 17 | Node6 [label="DataStructures.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_data_structures_8h.html",tooltip=" "]; 18 | Node2 -> Node7 [color="steelblue1",style="solid"]; 19 | Node7 [label="InlineKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_inline_keyboard_8h.html",tooltip=" "]; 20 | Node7 -> Node3 [color="steelblue1",style="solid"]; 21 | Node7 -> Node6 [color="steelblue1",style="solid"]; 22 | Node2 -> Node8 [color="steelblue1",style="solid"]; 23 | Node8 [label="ReplyKeyboard.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$_reply_keyboard_8h.html",tooltip=" "]; 24 | Node8 -> Node3 [color="steelblue1",style="solid"]; 25 | Node8 -> Node6 [color="steelblue1",style="solid"]; 26 | Node8 -> Node9 [color="steelblue1",style="solid"]; 27 | Node9 [label="serial_log.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$serial__log_8h.html",tooltip=" "]; 28 | Node9 -> Node10 [color="steelblue1",style="solid"]; 29 | Node10 [label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 30 | Node9 -> Node11 [color="steelblue1",style="solid"]; 31 | Node11 [label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "]; 32 | Node2 -> Node9 [color="steelblue1",style="solid"]; 33 | } 34 | -------------------------------------------------------------------------------- /docs/html/search/mag_sel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 31 | 33 | 57 | 63 | 69 | 74 | 75 | -------------------------------------------------------------------------------- /docs/html/search/mag_seld.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 31 | 33 | 57 | 63 | 69 | 74 | 75 | -------------------------------------------------------------------------------- /docs/man/man3/ReplyKeyboard.3: -------------------------------------------------------------------------------- 1 | .TH "ReplyKeyboard" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | ReplyKeyboard 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Member Functions" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBReplyKeyboard\fP ()" 16 | .br 17 | .ti -1c 18 | .RI "\fB~ReplyKeyboard\fP ()" 19 | .br 20 | .ti -1c 21 | .RI "bool \fBaddRow\fP (void)" 22 | .br 23 | .ti -1c 24 | .RI "bool \fBaddButton\fP (const char *text, \fBReplyKeyboardButtonType\fP buttonType=\fBKeyboardButtonSimple\fP)" 25 | .br 26 | .ti -1c 27 | .RI "void \fBenableResize\fP (void)" 28 | .br 29 | .ti -1c 30 | .RI "void \fBenableOneTime\fP (void)" 31 | .br 32 | .ti -1c 33 | .RI "void \fBenableSelective\fP (void)" 34 | .br 35 | .ti -1c 36 | .RI "String \fBgetJSON\fP (void) const" 37 | .br 38 | .ti -1c 39 | .RI "String \fBgetJSONPretty\fP () const" 40 | .br 41 | .ti -1c 42 | .RI "void \fBclear\fP ()" 43 | .br 44 | .in -1c 45 | .SH "Detailed Description" 46 | .PP 47 | Definition at line \fB18\fP of file \fBReplyKeyboard\&.h\fP\&. 48 | .SH "Constructor & Destructor Documentation" 49 | .PP 50 | .SS "ReplyKeyboard::ReplyKeyboard ()" 51 | 52 | .PP 53 | Definition at line \fB3\fP of file \fBReplyKeyboard\&.cpp\fP\&. 54 | .SS "ReplyKeyboard::~ReplyKeyboard ()" 55 | 56 | .PP 57 | Definition at line \fB9\fP of file \fBReplyKeyboard\&.cpp\fP\&. 58 | .SH "Member Function Documentation" 59 | .PP 60 | .SS "bool ReplyKeyboard::addButton (const char * text, \fBReplyKeyboardButtonType\fP buttonType = \fC\fBKeyboardButtonSimple\fP\fP)" 61 | 62 | .PP 63 | Definition at line \fB35\fP of file \fBReplyKeyboard\&.cpp\fP\&. 64 | .SS "bool ReplyKeyboard::addRow (void)" 65 | 66 | .PP 67 | Definition at line \fB11\fP of file \fBReplyKeyboard\&.cpp\fP\&. 68 | .SS "void ReplyKeyboard::clear ()\fC [inline]\fP" 69 | 70 | .PP 71 | Definition at line \fB59\fP of file \fBReplyKeyboard\&.h\fP\&. 72 | .SS "void ReplyKeyboard::enableOneTime (void)" 73 | 74 | .PP 75 | Definition at line \fB163\fP of file \fBReplyKeyboard\&.cpp\fP\&. 76 | .SS "void ReplyKeyboard::enableResize (void)" 77 | 78 | .PP 79 | Definition at line \fB132\fP of file \fBReplyKeyboard\&.cpp\fP\&. 80 | .SS "void ReplyKeyboard::enableSelective (void)" 81 | 82 | .PP 83 | Definition at line \fB192\fP of file \fBReplyKeyboard\&.cpp\fP\&. 84 | .SS "String ReplyKeyboard::getJSON (void) const" 85 | 86 | .PP 87 | Definition at line \fB221\fP of file \fBReplyKeyboard\&.cpp\fP\&. 88 | .SS "String ReplyKeyboard::getJSONPretty () const" 89 | 90 | .PP 91 | Definition at line \fB226\fP of file \fBReplyKeyboard\&.cpp\fP\&. 92 | 93 | .SH "Author" 94 | .PP 95 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 96 | -------------------------------------------------------------------------------- /docs/latex/_async_telegram2_8cpp.tex.tmp: -------------------------------------------------------------------------------- 1 | \hypertarget{_async_telegram2_8cpp}{}\doxysection{src/\+Async\+Telegram2.cpp File Reference} 2 | \label{_async_telegram2_8cpp}\index{src/AsyncTelegram2.cpp@{src/AsyncTelegram2.cpp}} 3 | {\ttfamily \#include \char`\"{}Async\+Telegram2.\+h\char`\"{}}\newline 4 | Include dependency graph for Async\+Telegram2.\+cpp\+: 5 | % FIG 0 6 | \doxysubsection*{Macros} 7 | \begin{DoxyCompactItemize} 8 | \item 9 | \#define \mbox{\hyperlink{_async_telegram2_8cpp_ad52684f7aaf665e4e3a804865854635a}{HEADERS\+\_\+\+END}}~\char`\"{}\textbackslash{}r\textbackslash{}n\textbackslash{}r\textbackslash{}n\char`\"{} 10 | \item 11 | \#define \mbox{\hyperlink{_async_telegram2_8cpp_a985bae7b67bcb96c5565a24a5f6d4cba}{BOUNDARY}}~\char`\"{}-\/-\/-\/-\/Web\+Kit\+Form\+Boundary7\+MA4\+YWxk\+Tr\+Zu0g\+W\char`\"{} 12 | \item 13 | \#define \mbox{\hyperlink{_async_telegram2_8cpp_a24a813330ce8132f9870ebfff57cb601}{END\+\_\+\+BOUNDARY}}~\char`\"{}\textbackslash{}r\textbackslash{}n-\/-\/\char`\"{} BOUNDARY \char`\"{}-\/-\/\textbackslash{}r\textbackslash{}n\char`\"{} 14 | \end{DoxyCompactItemize} 15 | 16 | 17 | \doxysubsection{Macro Definition Documentation} 18 | \mbox{\Hypertarget{_async_telegram2_8cpp_a985bae7b67bcb96c5565a24a5f6d4cba}\label{_async_telegram2_8cpp_a985bae7b67bcb96c5565a24a5f6d4cba}} 19 | \index{AsyncTelegram2.cpp@{AsyncTelegram2.cpp}!BOUNDARY@{BOUNDARY}} 20 | \index{BOUNDARY@{BOUNDARY}!AsyncTelegram2.cpp@{AsyncTelegram2.cpp}} 21 | \doxysubsubsection{\texorpdfstring{BOUNDARY}{BOUNDARY}} 22 | {\footnotesize\ttfamily \#define BOUNDARY~\char`\"{}-\/-\/-\/-\/Web\+Kit\+Form\+Boundary7\+MA4\+YWxk\+Tr\+Zu0g\+W\char`\"{}} 23 | 24 | \mbox{\Hypertarget{_async_telegram2_8cpp_a24a813330ce8132f9870ebfff57cb601}\label{_async_telegram2_8cpp_a24a813330ce8132f9870ebfff57cb601}} 25 | \index{AsyncTelegram2.cpp@{AsyncTelegram2.cpp}!END\_BOUNDARY@{END\_BOUNDARY}} 26 | \index{END\_BOUNDARY@{END\_BOUNDARY}!AsyncTelegram2.cpp@{AsyncTelegram2.cpp}} 27 | \doxysubsubsection{\texorpdfstring{END\_BOUNDARY}{END\_BOUNDARY}} 28 | {\footnotesize\ttfamily \#define END\+\_\+\+BOUNDARY~\char`\"{}\textbackslash{}r\textbackslash{}n-\/-\/\char`\"{} BOUNDARY \char`\"{}-\/-\/\textbackslash{}r\textbackslash{}n\char`\"{}} 29 | 30 | \mbox{\Hypertarget{_async_telegram2_8cpp_ad52684f7aaf665e4e3a804865854635a}\label{_async_telegram2_8cpp_ad52684f7aaf665e4e3a804865854635a}} 31 | \index{AsyncTelegram2.cpp@{AsyncTelegram2.cpp}!HEADERS\_END@{HEADERS\_END}} 32 | \index{HEADERS\_END@{HEADERS\_END}!AsyncTelegram2.cpp@{AsyncTelegram2.cpp}} 33 | \doxysubsubsection{\texorpdfstring{HEADERS\_END}{HEADERS\_END}} 34 | {\footnotesize\ttfamily \#define HEADERS\+\_\+\+END~\char`\"{}\textbackslash{}r\textbackslash{}n\textbackslash{}r\textbackslash{}n\char`\"{}} 35 | 36 | 37 | 38 | Definition at line \mbox{\hyperlink{_async_telegram2_8cpp_source_l00003}{3}} of file \mbox{\hyperlink{_async_telegram2_8cpp_source}{Async\+Telegram2.\+cpp}}. 39 | 40 | -------------------------------------------------------------------------------- /docs/man/man3/InlineKeyboard.3: -------------------------------------------------------------------------------- 1 | .TH "InlineKeyboard" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | InlineKeyboard 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Member Functions" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBInlineKeyboard\fP ()" 16 | .br 17 | .ti -1c 18 | .RI "\fBInlineKeyboard\fP (const String &keyboard)" 19 | .br 20 | .ti -1c 21 | .RI "\fB~InlineKeyboard\fP ()" 22 | .br 23 | .ti -1c 24 | .RI "int \fBgetButtonsNumber\fP ()" 25 | .br 26 | .ti -1c 27 | .RI "bool \fBaddRow\fP (void)" 28 | .br 29 | .ti -1c 30 | .RI "bool \fBaddButton\fP (const char *text, const char *command, \fBInlineKeyboardButtonType\fP buttonType, CallbackType onClick=nullptr)" 31 | .br 32 | .ti -1c 33 | .RI "String \fBgetJSON\fP (void) const" 34 | .br 35 | .ti -1c 36 | .RI "String \fBgetJSONPretty\fP (void) const" 37 | .br 38 | .ti -1c 39 | .RI "void \fBclear\fP ()" 40 | .br 41 | .in -1c 42 | .SS "Friends" 43 | 44 | .in +1c 45 | .ti -1c 46 | .RI "class \fBAsyncTelegram2\fP" 47 | .br 48 | .in -1c 49 | .SH "Detailed Description" 50 | .PP 51 | Definition at line \fB17\fP of file \fBInlineKeyboard\&.h\fP\&. 52 | .SH "Constructor & Destructor Documentation" 53 | .PP 54 | .SS "InlineKeyboard::InlineKeyboard ()" 55 | 56 | .PP 57 | Definition at line \fB4\fP of file \fBInlineKeyboard\&.cpp\fP\&. 58 | .SS "InlineKeyboard::InlineKeyboard (const String & keyboard)" 59 | 60 | .SS "InlineKeyboard::~InlineKeyboard ()" 61 | 62 | .PP 63 | Definition at line \fB9\fP of file \fBInlineKeyboard\&.cpp\fP\&. 64 | .SH "Member Function Documentation" 65 | .PP 66 | .SS "bool InlineKeyboard::addButton (const char * text, const char * command, \fBInlineKeyboardButtonType\fP buttonType, CallbackType onClick = \fCnullptr\fP)" 67 | 68 | .PP 69 | Definition at line \fB35\fP of file \fBInlineKeyboard\&.cpp\fP\&. 70 | .SS "bool InlineKeyboard::addRow (void)" 71 | 72 | .PP 73 | Definition at line \fB11\fP of file \fBInlineKeyboard\&.cpp\fP\&. 74 | .SS "void InlineKeyboard::clear ()\fC [inline]\fP" 75 | 76 | .PP 77 | Definition at line \fB57\fP of file \fBInlineKeyboard\&.h\fP\&. 78 | .SS "int InlineKeyboard::getButtonsNumber ()" 79 | 80 | .PP 81 | Definition at line \fB86\fP of file \fBInlineKeyboard\&.cpp\fP\&. 82 | .SS "String InlineKeyboard::getJSON (void) const" 83 | 84 | .PP 85 | Definition at line \fB91\fP of file \fBInlineKeyboard\&.cpp\fP\&. 86 | .SS "String InlineKeyboard::getJSONPretty (void) const" 87 | 88 | .PP 89 | Definition at line \fB96\fP of file \fBInlineKeyboard\&.cpp\fP\&. 90 | .SH "Friends And Related Function Documentation" 91 | .PP 92 | .SS "friend class \fBAsyncTelegram2\fP\fC [friend]\fP" 93 | 94 | .PP 95 | Definition at line \fB62\fP of file \fBInlineKeyboard\&.h\fP\&. 96 | 97 | .SH "Author" 98 | .PP 99 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 100 | -------------------------------------------------------------------------------- /examples/echoBot_UnoR4/echoBot_UnoR4.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Name: echoBot.ino 3 | Created: 07/03/2025 4 | Author: Tolentino Cotesta 5 | Description: a simple example that check for incoming messages and reply the sender with the received message. 6 | The message will be forwarded also in a public channel and to a specific userid. 7 | */ 8 | 9 | #include "WiFiS3.h" 10 | #include "WiFiSSLClient.h" 11 | #include 12 | 13 | int status = WL_IDLE_STATUS; 14 | 15 | WiFiSSLClient client; 16 | AsyncTelegram2 myBot(client); 17 | 18 | const char* ssid = "xxxxxxxxxx"; // SSID WiFi network 19 | const char* pass = "xxxxxxxxxx"; // Password WiFi network 20 | const char* token = "xxxxxxxxxx:xxxxxxxxxx-xxxxxxxxxx"; // Telegram token 21 | 22 | // Check the userid with the help of bot @JsonDumpBot or @getidsbot (work also with groups) 23 | // https://t.me/JsonDumpBot or https://t.me/getidsbot 24 | int64_t userid = 123456789; 25 | 26 | void setup() { 27 | pinMode(LED_BUILTIN, OUTPUT); 28 | // initialize the Serial 29 | Serial.begin(115200); 30 | Serial.println("\nStarting TelegramBot..."); 31 | 32 | while (!Serial) ; // wait for serial port to connect. Needed for native USB port only 33 | 34 | // check for the WiFi module: 35 | if (WiFi.status() == WL_NO_MODULE) { 36 | Serial.println("Communication with WiFi module failed!"); 37 | // don't continue 38 | while (true); 39 | } 40 | 41 | String fv = WiFi.firmwareVersion(); 42 | if (fv < WIFI_FIRMWARE_LATEST_VERSION) { 43 | Serial.println("Please upgrade the firmware"); 44 | } 45 | 46 | // attempt to connect to WiFi network: 47 | while (status != WL_CONNECTED) { 48 | Serial.print("Attempting to connect to SSID: "); 49 | Serial.println(ssid); 50 | status = WiFi.begin(ssid, pass); // Connect to WPA/WPA2 network. 51 | delay(5000); // wait 5 seconds for connection: 52 | } 53 | 54 | Serial.print("IP Address: "); 55 | Serial.println(WiFi.localIP()); 56 | 57 | // Set the Telegram bot properies 58 | myBot.setUpdateTime(1000); 59 | myBot.setTelegramToken(token); 60 | 61 | // Check if all things are ok 62 | Serial.print("\nTest Telegram connection... "); 63 | myBot.begin() ? Serial.println("OK") : Serial.println("NOK"); 64 | 65 | char welcome_msg[128]; 66 | snprintf(welcome_msg, 128, "BOT @%s online\n/help all commands avalaible.", myBot.getBotName()); 67 | 68 | // Send a message to specific user who has started your bot 69 | myBot.sendTo(userid, welcome_msg); 70 | } 71 | 72 | void loop() { 73 | 74 | static uint32_t ledTime = millis(); 75 | if (millis() - ledTime > 150) { 76 | ledTime = millis(); 77 | digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); 78 | } 79 | 80 | // local variable to store telegram message data 81 | TBMessage msg; 82 | 83 | // if there is an incoming message... 84 | if (myBot.getNewMessage(msg)) { 85 | // Send a message to your public channel 86 | String message ; 87 | message += "Message from @"; 88 | message += myBot.getBotName(); 89 | message += ": "; 90 | message += msg.text; 91 | Serial.println(message); 92 | 93 | // echo the received message 94 | myBot.sendMessage(msg, msg.text); 95 | } 96 | } -------------------------------------------------------------------------------- /docs/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: Main Page 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 |
50 | 51 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 |
Loading...
64 |
Searching...
65 |
No Matches
66 |
67 |
68 |
69 |
70 | 71 |
72 |
AsyncTelegram2 Documentation
73 |
74 |
75 |
76 | 77 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /docs/html/functions_rela.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: Class Members - Related Functions 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 |
50 | 51 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 |
Loading...
64 |
Searching...
65 |
No Matches
66 |
67 |
68 |
69 |
70 | 71 |
72 |   75 |
76 | 77 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /docs/html/functions_enum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: Class Members - Enumerations 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 |
50 | 51 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 |
Loading...
64 |
Searching...
65 |
No Matches
66 |
67 |
68 |
69 |
70 | 71 |
72 |   76 |
77 | 78 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /docs/html/globals_enum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: File Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 |
50 | 51 |
55 |
56 | 57 | 58 |
59 |
60 |
61 |
62 |
63 |
Loading...
64 |
Searching...
65 |
No Matches
66 |
67 |
68 |
69 |
70 | 71 |
72 |   77 |
78 | 79 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /.github/workflows/build-esp8266.yml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json 2 | 3 | name: Build (ESP8266) 4 | 5 | on: 6 | workflow_dispatch: 7 | push: 8 | branches: 9 | - master 10 | - release/* 11 | pull_request: 12 | 13 | concurrency: 14 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 15 | cancel-in-progress: true 16 | 17 | jobs: 18 | arduino-esp8266: 19 | name: ESP8266 (arduino-cli) 20 | runs-on: ubuntu-latest 21 | steps: 22 | - name: Install arduino-cli 23 | run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh 24 | 25 | - name: Update core index 26 | run: arduino-cli core update-index --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json 27 | 28 | - name: Install core 29 | run: arduino-cli core install --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json esp8266:esp8266 30 | 31 | - name: Install ArduinoJson 32 | run: arduino-cli lib install ArduinoJson 33 | 34 | - name: Checkout 35 | uses: actions/checkout@v4 36 | 37 | - name: Build Examples 38 | run: | 39 | EXCLUDE_EXAMPLES="ESP32-CAM ESP32-CAM-PIR ESP_OTA Ethernet advanced echoBot_UnoR4 echoBot_wifiNINA" 40 | 41 | for i in `ls examples`; do 42 | # skip excluded examples 43 | if [[ $EXCLUDE_EXAMPLES == *"$i"* ]]; then 44 | echo "Skipping: $i" 45 | continue 46 | fi 47 | 48 | echo "=============================================================" 49 | echo "Building examples/$i..." 50 | echo "=============================================================" 51 | arduino-cli compile --library . --warnings none -b esp8266:esp8266:huzzah "examples/$i/$i.ino" 52 | done 53 | 54 | platformio-esp8266: 55 | name: ESP8266 (pio) 56 | runs-on: ubuntu-latest 57 | strategy: 58 | fail-fast: false 59 | matrix: 60 | board: 61 | - d1_mini 62 | 63 | steps: 64 | - name: Checkout 65 | uses: actions/checkout@v4 66 | 67 | - name: Cache PlatformIO 68 | uses: actions/cache@v4 69 | with: 70 | key: ${{ runner.os }}-pio 71 | path: | 72 | ~/.cache/pip 73 | ~/.platformio 74 | 75 | - name: Python 76 | uses: actions/setup-python@v5 77 | with: 78 | python-version: "3.x" 79 | 80 | - name: Install PIO 81 | run: | 82 | python -m pip install --upgrade pip 83 | pip install --upgrade platformio 84 | 85 | - name: Build Examples 86 | run: | 87 | EXCLUDE_EXAMPLES="ESP32-CAM ESP32-CAM-PIR ESP_OTA Ethernet advanced echoBot_UnoR4 echoBot_wifiNINA" 88 | 89 | for i in `ls examples`; do 90 | # skip excluded examples 91 | if [[ $EXCLUDE_EXAMPLES == *"$i"* ]]; then 92 | echo "Skipping: $i" 93 | continue 94 | fi 95 | 96 | echo "=============================================================" 97 | echo "Building examples/$i..." 98 | echo "=============================================================" 99 | PLATFORMIO_SRC_DIR=examples/$i PIO_BOARD=${{ matrix.board }} pio run -e ci-esp8266 100 | done 101 | -------------------------------------------------------------------------------- /docs/man/man3/AsyncTelegram2.h.3: -------------------------------------------------------------------------------- 1 | .TH "src/AsyncTelegram2.h" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | src/AsyncTelegram2.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | \fC#include 'Client\&.h'\fP 12 | .br 13 | \fC#include 'time\&.h'\fP 14 | .br 15 | \fC#include 'DataStructures\&.h'\fP 16 | .br 17 | \fC#include 'InlineKeyboard\&.h'\fP 18 | .br 19 | \fC#include 'ReplyKeyboard\&.h'\fP 20 | .br 21 | \fC#include 'serial_log\&.h'\fP 22 | .br 23 | 24 | .SS "Classes" 25 | 26 | .in +1c 27 | .ti -1c 28 | .RI "class \fBAsyncTelegram2\fP" 29 | .br 30 | .in -1c 31 | .SS "Macros" 32 | 33 | .in +1c 34 | .ti -1c 35 | .RI "#define \fBARDUINOJSON_USE_LONG_LONG\fP 1" 36 | .br 37 | .ti -1c 38 | .RI "#define \fBARDUINOJSON_DECODE_UNICODE\fP 1" 39 | .br 40 | .ti -1c 41 | .RI "#define \fBFS_SUPPORT\fP false" 42 | .br 43 | .ti -1c 44 | .RI "#define \fBLED_BUILTIN\fP 2" 45 | .br 46 | .ti -1c 47 | .RI "#define \fBDEBUG_ENABLE\fP 0" 48 | .br 49 | .ti -1c 50 | .RI "#define \fBFS_SUPPORT\fP false" 51 | .br 52 | .ti -1c 53 | .RI "#define \fBINT32\fP 'ld'" 54 | .br 55 | .ti -1c 56 | .RI "#define \fBMAX_INLINEKYB_CB\fP 30" 57 | .br 58 | .ti -1c 59 | .RI "#define \fBSERVER_TIMEOUT\fP 10000" 60 | .br 61 | .ti -1c 62 | .RI "#define \fBMIN_UPDATE_TIME\fP 500" 63 | .br 64 | .ti -1c 65 | .RI "#define \fBBLOCK_SIZE\fP 1436" 66 | .br 67 | .ti -1c 68 | .RI "#define \fBTELEGRAM_HOST\fP 'api\&.telegram\&.org'" 69 | .br 70 | .ti -1c 71 | .RI "#define \fBTELEGRAM_IP\fP '149\&.154\&.167\&.220'" 72 | .br 73 | .ti -1c 74 | .RI "#define \fBTELEGRAM_PORT\fP 443" 75 | .br 76 | .in -1c 77 | .SH "Macro Definition Documentation" 78 | .PP 79 | .SS "#define ARDUINOJSON_DECODE_UNICODE 1" 80 | 81 | .PP 82 | Definition at line \fB6\fP of file \fBAsyncTelegram2\&.h\fP\&. 83 | .SS "#define ARDUINOJSON_USE_LONG_LONG 1" 84 | 85 | .PP 86 | Definition at line \fB5\fP of file \fBAsyncTelegram2\&.h\fP\&. 87 | .SS "#define BLOCK_SIZE 1436" 88 | 89 | .PP 90 | Definition at line \fB54\fP of file \fBAsyncTelegram2\&.h\fP\&. 91 | .SS "#define DEBUG_ENABLE 0" 92 | 93 | .PP 94 | Definition at line \fB25\fP of file \fBAsyncTelegram2\&.h\fP\&. 95 | .SS "#define FS_SUPPORT false" 96 | 97 | .PP 98 | Definition at line \fB33\fP of file \fBAsyncTelegram2\&.h\fP\&. 99 | .SS "#define FS_SUPPORT false" 100 | 101 | .PP 102 | Definition at line \fB33\fP of file \fBAsyncTelegram2\&.h\fP\&. 103 | .SS "#define INT32 'ld'" 104 | 105 | .PP 106 | Definition at line \fB41\fP of file \fBAsyncTelegram2\&.h\fP\&. 107 | .SS "#define LED_BUILTIN 2" 108 | 109 | .PP 110 | Definition at line \fB18\fP of file \fBAsyncTelegram2\&.h\fP\&. 111 | .SS "#define MAX_INLINEKYB_CB 30" 112 | 113 | .PP 114 | Definition at line \fB49\fP of file \fBAsyncTelegram2\&.h\fP\&. 115 | .SS "#define MIN_UPDATE_TIME 500" 116 | 117 | .PP 118 | Definition at line \fB52\fP of file \fBAsyncTelegram2\&.h\fP\&. 119 | .SS "#define SERVER_TIMEOUT 10000" 120 | 121 | .PP 122 | Definition at line \fB51\fP of file \fBAsyncTelegram2\&.h\fP\&. 123 | .SS "#define TELEGRAM_HOST 'api\&.telegram\&.org'" 124 | 125 | .PP 126 | Definition at line \fB61\fP of file \fBAsyncTelegram2\&.h\fP\&. 127 | .SS "#define TELEGRAM_IP '149\&.154\&.167\&.220'" 128 | 129 | .PP 130 | Definition at line \fB62\fP of file \fBAsyncTelegram2\&.h\fP\&. 131 | .SS "#define TELEGRAM_PORT 443" 132 | 133 | .PP 134 | Definition at line \fB63\fP of file \fBAsyncTelegram2\&.h\fP\&. 135 | .SH "Author" 136 | .PP 137 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 138 | -------------------------------------------------------------------------------- /src/InlineKeyboard.cpp: -------------------------------------------------------------------------------- 1 | #include "InlineKeyboard.h" 2 | 3 | 4 | InlineKeyboard::InlineKeyboard(size_t size) 5 | { 6 | m_jsonSize = size; 7 | m_json.reserve(m_jsonSize); 8 | m_json = "{\"inline_keyboard\":[[]]}\""; 9 | } 10 | 11 | InlineKeyboard::InlineKeyboard(const String& keyboard, size_t size){ 12 | m_jsonSize = size; 13 | m_json.reserve(m_jsonSize); 14 | m_json = keyboard; 15 | } 16 | 17 | InlineKeyboard::~InlineKeyboard(){ 18 | m_json = ""; 19 | } 20 | 21 | bool InlineKeyboard::addRow() 22 | { 23 | JSON_DOC(m_jsonSize); 24 | deserializeJson(root, m_json); 25 | 26 | // Deserialize the JSON document 27 | DeserializationError error = deserializeJson(root, m_json); 28 | 29 | // Test if parsing succeeds. 30 | if (error) { 31 | Serial.print(F("deserializeJson() failed: ")); 32 | Serial.println(error.f_str()); 33 | return false; 34 | } 35 | 36 | #if ARDUINOJSON_VERSION_MAJOR > 6 37 | JsonArray rows = root["inline_keyboard"].as(); 38 | rows.add(); 39 | #else 40 | JsonArray rows = root["inline_keyboard"]; 41 | rows.createNestedArray(); 42 | #endif 43 | m_json = ""; 44 | serializeJson(root, m_json); 45 | return true; 46 | } 47 | 48 | bool InlineKeyboard::addButton(const char* text, const char* command, InlineKeyboardButtonType buttonType, CallbackType onClick) 49 | { 50 | if ((buttonType != KeyboardButtonURL) && (buttonType != KeyboardButtonQuery)) 51 | return false; 52 | 53 | InlineButton *inlineButton = new InlineButton(); 54 | if (_firstButton == nullptr) 55 | _firstButton = inlineButton; 56 | else 57 | _lastButton->nextButton = inlineButton; 58 | inlineButton->argCallback = onClick; 59 | inlineButton->btnName = (char*)command; 60 | _lastButton = inlineButton; 61 | m_buttonsCounter++; 62 | 63 | JSON_DOC(m_jsonSize); 64 | DeserializationError error = deserializeJson(root, m_json); 65 | 66 | // Test if parsing succeeds. 67 | if (error) { 68 | Serial.print(F("deserializeJson() failed: ")); 69 | Serial.println(error.f_str()); 70 | return false; 71 | } 72 | 73 | #if ARDUINOJSON_VERSION_MAJOR > 6 74 | JsonArray rows = root["inline_keyboard"].as(); 75 | JsonObject button = rows[rows.size()-1].add(); 76 | #else 77 | JsonArray rows = root["inline_keyboard"]; 78 | JsonObject button = rows[rows.size()-1].createNestedObject(); 79 | #endif 80 | 81 | button["text"] = text ; 82 | if(KeyboardButtonURL == buttonType) 83 | button["url"] = command; 84 | else if (KeyboardButtonQuery == buttonType) 85 | button["callback_data"] = command; 86 | 87 | // Store inline keyboard json structure 88 | m_json = ""; 89 | serializeJson(root, m_json); 90 | return true; 91 | } 92 | 93 | // Check if a callback function has to be called for this button query message 94 | void InlineKeyboard::checkCallback( const TBMessage &msg) { 95 | for(InlineButton *_button = _firstButton; _button != nullptr; _button = _button->nextButton){ 96 | if( msg.callbackQueryData.equals(_button->btnName) && _button->argCallback != nullptr){ 97 | _button->argCallback(msg); 98 | } 99 | } 100 | } 101 | 102 | // Get total number of keyboard buttons 103 | int InlineKeyboard::getButtonsNumber() 104 | { 105 | return m_buttonsCounter; 106 | } 107 | 108 | String InlineKeyboard::getJSON() const 109 | { 110 | return m_json; 111 | } 112 | 113 | String InlineKeyboard::getJSONPretty() const 114 | { 115 | JSON_DOC(m_jsonSize); 116 | deserializeJson(root, m_json); 117 | 118 | String serialized; 119 | serializeJsonPretty(root, serialized); 120 | return serialized; 121 | } 122 | 123 | -------------------------------------------------------------------------------- /docs/man/man3/TBMessage.3: -------------------------------------------------------------------------------- 1 | .TH "TBMessage" 3 "Sun Feb 26 2023" "AsyncTelegram2" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | TBMessage 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Public Attributes" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBMessageType\fP \fBmessageType\fP" 16 | .br 17 | .ti -1c 18 | .RI "bool \fBisHTMLenabled\fP = true" 19 | .br 20 | .ti -1c 21 | .RI "bool \fBisMarkdownEnabled\fP = false" 22 | .br 23 | .ti -1c 24 | .RI "bool \fBdisable_notification\fP = false" 25 | .br 26 | .ti -1c 27 | .RI "bool \fBforce_reply\fP = false" 28 | .br 29 | .ti -1c 30 | .RI "int32_t \fBdate\fP" 31 | .br 32 | .ti -1c 33 | .RI "int32_t \fBchatInstance\fP" 34 | .br 35 | .ti -1c 36 | .RI "int64_t \fBchatId\fP" 37 | .br 38 | .ti -1c 39 | .RI "int32_t \fBmessageID\fP" 40 | .br 41 | .ti -1c 42 | .RI "\fBTBUser\fP \fBsender\fP" 43 | .br 44 | .ti -1c 45 | .RI "\fBTBUser\fP \fBmember\fP" 46 | .br 47 | .ti -1c 48 | .RI "\fBTBLocation\fP \fBlocation\fP" 49 | .br 50 | .ti -1c 51 | .RI "\fBTBContact\fP \fBcontact\fP" 52 | .br 53 | .ti -1c 54 | .RI "\fBTBDocument\fP \fBdocument\fP" 55 | .br 56 | .ti -1c 57 | .RI "int64_t \fBcallbackQueryID\fP" 58 | .br 59 | .ti -1c 60 | .RI "String \fBcallbackQueryData\fP" 61 | .br 62 | .ti -1c 63 | .RI "String \fBtext\fP" 64 | .br 65 | .in -1c 66 | .SH "Detailed Description" 67 | .PP 68 | Definition at line \fB51\fP of file \fBDataStructures\&.h\fP\&. 69 | .SH "Member Data Documentation" 70 | .PP 71 | .SS "String TBMessage::callbackQueryData" 72 | 73 | .PP 74 | Definition at line \fB67\fP of file \fBDataStructures\&.h\fP\&. 75 | .SS "int64_t TBMessage::callbackQueryID" 76 | 77 | .PP 78 | Definition at line \fB66\fP of file \fBDataStructures\&.h\fP\&. 79 | .SS "int64_t TBMessage::chatId" 80 | 81 | .PP 82 | Definition at line \fB59\fP of file \fBDataStructures\&.h\fP\&. 83 | .SS "int32_t TBMessage::chatInstance" 84 | 85 | .PP 86 | Definition at line \fB58\fP of file \fBDataStructures\&.h\fP\&. 87 | .SS "\fBTBContact\fP TBMessage::contact" 88 | 89 | .PP 90 | Definition at line \fB64\fP of file \fBDataStructures\&.h\fP\&. 91 | .SS "int32_t TBMessage::date" 92 | 93 | .PP 94 | Definition at line \fB57\fP of file \fBDataStructures\&.h\fP\&. 95 | .SS "bool TBMessage::disable_notification = false" 96 | 97 | .PP 98 | Definition at line \fB55\fP of file \fBDataStructures\&.h\fP\&. 99 | .SS "\fBTBDocument\fP TBMessage::document" 100 | 101 | .PP 102 | Definition at line \fB65\fP of file \fBDataStructures\&.h\fP\&. 103 | .SS "bool TBMessage::force_reply = false" 104 | 105 | .PP 106 | Definition at line \fB56\fP of file \fBDataStructures\&.h\fP\&. 107 | .SS "bool TBMessage::isHTMLenabled = true" 108 | 109 | .PP 110 | Definition at line \fB53\fP of file \fBDataStructures\&.h\fP\&. 111 | .SS "bool TBMessage::isMarkdownEnabled = false" 112 | 113 | .PP 114 | Definition at line \fB54\fP of file \fBDataStructures\&.h\fP\&. 115 | .SS "\fBTBLocation\fP TBMessage::location" 116 | 117 | .PP 118 | Definition at line \fB63\fP of file \fBDataStructures\&.h\fP\&. 119 | .SS "\fBTBUser\fP TBMessage::member" 120 | 121 | .PP 122 | Definition at line \fB62\fP of file \fBDataStructures\&.h\fP\&. 123 | .SS "int32_t TBMessage::messageID" 124 | 125 | .PP 126 | Definition at line \fB60\fP of file \fBDataStructures\&.h\fP\&. 127 | .SS "\fBMessageType\fP TBMessage::messageType" 128 | 129 | .PP 130 | Definition at line \fB52\fP of file \fBDataStructures\&.h\fP\&. 131 | .SS "\fBTBUser\fP TBMessage::sender" 132 | 133 | .PP 134 | Definition at line \fB61\fP of file \fBDataStructures\&.h\fP\&. 135 | .SS "String TBMessage::text" 136 | 137 | .PP 138 | Definition at line \fB68\fP of file \fBDataStructures\&.h\fP\&. 139 | 140 | .SH "Author" 141 | .PP 142 | Generated automatically by Doxygen for AsyncTelegram2 from the source code\&. 143 | -------------------------------------------------------------------------------- /docs/latex/struct_t_b_user.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{struct_t_b_user}{}\doxysection{TBUser Struct Reference} 2 | \label{struct_t_b_user}\index{TBUser@{TBUser}} 3 | 4 | 5 | {\ttfamily \#include $<$Data\+Structures.\+h$>$} 6 | 7 | \doxysubsection*{Public Attributes} 8 | \begin{DoxyCompactItemize} 9 | \item 10 | bool \mbox{\hyperlink{struct_t_b_user_acf866f0825ebee6f15f320b98ff752a1}{is\+Bot}} 11 | \item 12 | int64\+\_\+t \mbox{\hyperlink{struct_t_b_user_a7a7bdc57e98059b74049936d3dadf1ae}{id}} = 0 13 | \item 14 | String \mbox{\hyperlink{struct_t_b_user_a3288745f836368bdc2135303ebfd1e32}{first\+Name}} 15 | \item 16 | String \mbox{\hyperlink{struct_t_b_user_af8dfa5b3e59c95d741cc19f1af3dda4d}{last\+Name}} 17 | \item 18 | String \mbox{\hyperlink{struct_t_b_user_ae6932180f75bdf455cf4afb89cb6d216}{username}} 19 | \end{DoxyCompactItemize} 20 | 21 | 22 | \doxysubsection{Detailed Description} 23 | 24 | 25 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00022}{22}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 26 | 27 | 28 | 29 | \doxysubsection{Member Data Documentation} 30 | \mbox{\Hypertarget{struct_t_b_user_a3288745f836368bdc2135303ebfd1e32}\label{struct_t_b_user_a3288745f836368bdc2135303ebfd1e32}} 31 | \index{TBUser@{TBUser}!firstName@{firstName}} 32 | \index{firstName@{firstName}!TBUser@{TBUser}} 33 | \doxysubsubsection{\texorpdfstring{firstName}{firstName}} 34 | {\footnotesize\ttfamily String TBUser\+::first\+Name} 35 | 36 | 37 | 38 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00025}{25}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 39 | 40 | \mbox{\Hypertarget{struct_t_b_user_a7a7bdc57e98059b74049936d3dadf1ae}\label{struct_t_b_user_a7a7bdc57e98059b74049936d3dadf1ae}} 41 | \index{TBUser@{TBUser}!id@{id}} 42 | \index{id@{id}!TBUser@{TBUser}} 43 | \doxysubsubsection{\texorpdfstring{id}{id}} 44 | {\footnotesize\ttfamily int64\+\_\+t TBUser\+::id = 0} 45 | 46 | 47 | 48 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00024}{24}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 49 | 50 | \mbox{\Hypertarget{struct_t_b_user_acf866f0825ebee6f15f320b98ff752a1}\label{struct_t_b_user_acf866f0825ebee6f15f320b98ff752a1}} 51 | \index{TBUser@{TBUser}!isBot@{isBot}} 52 | \index{isBot@{isBot}!TBUser@{TBUser}} 53 | \doxysubsubsection{\texorpdfstring{isBot}{isBot}} 54 | {\footnotesize\ttfamily bool TBUser\+::is\+Bot} 55 | 56 | 57 | 58 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00023}{23}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 59 | 60 | \mbox{\Hypertarget{struct_t_b_user_af8dfa5b3e59c95d741cc19f1af3dda4d}\label{struct_t_b_user_af8dfa5b3e59c95d741cc19f1af3dda4d}} 61 | \index{TBUser@{TBUser}!lastName@{lastName}} 62 | \index{lastName@{lastName}!TBUser@{TBUser}} 63 | \doxysubsubsection{\texorpdfstring{lastName}{lastName}} 64 | {\footnotesize\ttfamily String TBUser\+::last\+Name} 65 | 66 | 67 | 68 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00026}{26}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 69 | 70 | \mbox{\Hypertarget{struct_t_b_user_ae6932180f75bdf455cf4afb89cb6d216}\label{struct_t_b_user_ae6932180f75bdf455cf4afb89cb6d216}} 71 | \index{TBUser@{TBUser}!username@{username}} 72 | \index{username@{username}!TBUser@{TBUser}} 73 | \doxysubsubsection{\texorpdfstring{username}{username}} 74 | {\footnotesize\ttfamily String TBUser\+::username} 75 | 76 | 77 | 78 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00027}{27}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 79 | 80 | 81 | 82 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 83 | \item 84 | src/\mbox{\hyperlink{_data_structures_8h}{Data\+Structures.\+h}}\end{DoxyCompactItemize} 85 | -------------------------------------------------------------------------------- /examples/sendOnEvent/sendOnEvent.ino: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | https://github.com/cotestatnt/AsyncTelegram2 4 | Name: sendOnEvent.ino 5 | Created: 28/02/2022 6 | Author: Tolentino Cotesta 7 | Description: Send a message when user press a button 8 | */ 9 | #include 10 | 11 | // Timezone definition 12 | #include 13 | #define MYTZ "CET-1CEST,M3.5.0,M10.5.0/3" 14 | 15 | #ifdef ESP8266 16 | #include 17 | BearSSL::WiFiClientSecure client; 18 | BearSSL::Session session; 19 | BearSSL::X509List certificate(telegram_cert); 20 | #elif defined(ESP32) 21 | #include 22 | #include 23 | WiFiClientSecure client; 24 | #endif 25 | 26 | AsyncTelegram2 myBot(client); 27 | const char* ssid = "xxxxxxxxx"; // SSID WiFi network 28 | const char* pass = "xxxxxxxxx"; // Password WiFi network 29 | const char* token = "xxxxxxxxxxxx"; // Telegram token 30 | 31 | // Check the userid with the help of bot @JsonDumpBot or @getidsbot (work also with groups) 32 | // https://t.me/JsonDumpBot or https://t.me/getidsbot 33 | int64_t userid = 123456789; 34 | 35 | #define BUTTON 0 36 | 37 | void setup() { 38 | pinMode(LED_BUILTIN, OUTPUT); 39 | pinMode(BUTTON, INPUT_PULLUP); 40 | // initialize the Serial 41 | Serial.begin(115200); 42 | 43 | // connects to the access point 44 | WiFi.begin(ssid, pass); 45 | delay(500); 46 | while (WiFi.status() != WL_CONNECTED) { 47 | Serial.print('.'); 48 | delay(500); 49 | } 50 | 51 | #ifdef ESP8266 52 | // Sync time with NTP, to check properly Telegram certificate 53 | configTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org"); 54 | //Set certficate, session and some other base client properies 55 | client.setSession(&session); 56 | client.setTrustAnchors(&certificate); 57 | client.setBufferSizes(1024, 1024); 58 | #elif defined(ESP32) 59 | // Sync time with NTP 60 | configTzTime(MYTZ, "time.google.com", "time.windows.com", "pool.ntp.org"); 61 | client.setCACert(telegram_cert); 62 | #endif 63 | 64 | // Set the Telegram bot properties 65 | myBot.setUpdateTime(1000); 66 | myBot.setTelegramToken(token); 67 | 68 | // Check if all things are ok 69 | Serial.print("\nTest Telegram connection... "); 70 | myBot.begin() ? Serial.println("OK") : Serial.println("NOK"); 71 | Serial.print("Bot name: @"); 72 | Serial.println(myBot.getBotName()); 73 | 74 | time_t now = time(nullptr); 75 | struct tm t = *localtime(&now); 76 | char welcome_msg[64]; 77 | strftime(welcome_msg, sizeof(welcome_msg), "Bot started at %X", &t); 78 | myBot.sendTo(userid, welcome_msg); 79 | } 80 | 81 | 82 | void loop() { 83 | 84 | // In the meantime LED_BUILTIN will blink with a fixed frequency 85 | // to evaluate async and non-blocking working of library 86 | static uint32_t ledTime = millis(); 87 | if (millis() - ledTime > 200) { 88 | ledTime = millis(); 89 | digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); 90 | } 91 | 92 | // Check incoming messages and keep Telegram server connection alive 93 | TBMessage msg; 94 | if (myBot.getNewMessage(msg)) { 95 | Serial.print("User "); 96 | Serial.print(msg.sender.username); 97 | Serial.print(" send this message: "); 98 | Serial.println(msg.text); 99 | 100 | // echo the received message 101 | myBot.sendMessage(msg, msg.text); 102 | } 103 | 104 | if (digitalRead(BUTTON) == LOW) { 105 | time_t now = time(nullptr); 106 | struct tm t = *localtime(&now); 107 | char msg_buf[64]; 108 | strftime(msg_buf, sizeof(msg_buf), "%X - Button pressed", &t); 109 | myBot.sendTo(userid, msg_buf); 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /src/ReplyKeyboard.cpp: -------------------------------------------------------------------------------- 1 | #include "ReplyKeyboard.h" 2 | #include "serial_log.h" 3 | 4 | ReplyKeyboard::ReplyKeyboard(size_t size) 5 | { 6 | m_jsonSize = size; 7 | m_json.reserve(m_jsonSize); 8 | m_json = "{\"keyboard\":[[]]}\""; 9 | } 10 | 11 | ReplyKeyboard::~ReplyKeyboard() { 12 | m_json = ""; 13 | } 14 | 15 | bool ReplyKeyboard::addRow() 16 | { 17 | JSON_DOC(m_jsonSize); 18 | 19 | DeserializationError err = deserializeJson(root, m_json); 20 | if (err) 21 | { 22 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 23 | return false; 24 | } 25 | 26 | #if ARDUINOJSON_VERSION_MAJOR > 6 27 | JsonArray rows = root["keyboard"].as(); 28 | rows.add(); 29 | #else 30 | JsonArray rows = root["keyboard"]; 31 | rows.createNestedArray(); 32 | #endif 33 | m_json = ""; 34 | serializeJson(root, m_json); 35 | return true; 36 | } 37 | bool ReplyKeyboard::addButton(const char *text, ReplyKeyboardButtonType buttonType) 38 | { 39 | if ((buttonType != KeyboardButtonContact) && 40 | (buttonType != KeyboardButtonLocation) && 41 | (buttonType != KeyboardButtonSimple)) 42 | { 43 | Serial.println("no button type"); 44 | return false; 45 | } 46 | 47 | JSON_DOC(m_jsonSize); 48 | 49 | DeserializationError err = deserializeJson(root, m_json); 50 | if (err) 51 | { 52 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 53 | return false; 54 | } 55 | 56 | #if ARDUINOJSON_VERSION_MAJOR > 6 57 | JsonArray rows = root["keyboard"].as(); 58 | JsonObject button = rows[rows.size()-1].add(); 59 | #else 60 | JsonArray rows = root["keyboard"]; 61 | JsonObject button = rows[rows.size() - 1].createNestedObject(); 62 | #endif 63 | 64 | button["text"] = text; 65 | switch (buttonType) 66 | { 67 | case KeyboardButtonContact: 68 | button["request_contact"] = true; 69 | break; 70 | case KeyboardButtonLocation: 71 | button["request_location"] = true; 72 | break; 73 | default: 74 | break; 75 | } 76 | 77 | // Store inline keyboard json structure 78 | m_json = ""; 79 | serializeJson(root, m_json); 80 | return true; 81 | } 82 | 83 | void ReplyKeyboard::enableResize() 84 | { 85 | 86 | JSON_DOC(m_jsonSize); 87 | deserializeJson(root, m_json); 88 | DeserializationError err = deserializeJson(root, m_json); 89 | if (err) 90 | { 91 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 92 | } 93 | m_json = ""; 94 | root["resize_keyboard"] = true; 95 | serializeJson(root, m_json); 96 | } 97 | 98 | void ReplyKeyboard::enableOneTime() 99 | { 100 | JSON_DOC(m_jsonSize); 101 | DeserializationError err = deserializeJson(root, m_json); 102 | if (err) 103 | { 104 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 105 | } 106 | m_json = ""; 107 | root["one_time_keyboard"] = true; 108 | serializeJson(root, m_json); 109 | } 110 | 111 | void ReplyKeyboard::enableSelective() 112 | { 113 | JSON_DOC(m_jsonSize); 114 | DeserializationError err = deserializeJson(root, m_json); 115 | if (err) 116 | { 117 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 118 | } 119 | m_json = ""; 120 | root["selective"] = true; 121 | serializeJson(root, m_json); 122 | } 123 | 124 | String ReplyKeyboard::getJSON() 125 | { 126 | return m_json; 127 | } 128 | 129 | String ReplyKeyboard::getJSONPretty() 130 | { 131 | JSON_DOC(m_jsonSize); 132 | DeserializationError err = deserializeJson(root, m_json); 133 | if (err) 134 | { 135 | log_debug("deserializeJson() failed: %s\n", err.c_str()); 136 | } 137 | 138 | String serialized; 139 | serializeJsonPretty(root, serialized); 140 | return serialized; 141 | } 142 | -------------------------------------------------------------------------------- /docs/html/struct_t_b_location-members.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: Member List 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 | 50 |
54 |
55 | 56 | 57 |
58 |
59 |
60 |
61 |
62 |
Loading...
63 |
Searching...
64 |
No Matches
65 |
66 |
67 |
68 |
69 | 70 |
71 |
72 |
TBLocation Member List
73 |
74 |
75 | 76 |

This is the complete list of members for TBLocation, including all inherited members.

77 | 78 | 79 | 80 |
latitudeTBLocation
longitudeTBLocation
81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /docs/latex/struct_t_b_contact.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{struct_t_b_contact}{}\doxysection{TBContact Struct Reference} 2 | \label{struct_t_b_contact}\index{TBContact@{TBContact}} 3 | 4 | 5 | {\ttfamily \#include $<$Data\+Structures.\+h$>$} 6 | 7 | \doxysubsection*{Public Attributes} 8 | \begin{DoxyCompactItemize} 9 | \item 10 | int64\+\_\+t \mbox{\hyperlink{struct_t_b_contact_ac7c11fe1902535cdf9006c9f57be8d82}{id}} 11 | \item 12 | String \mbox{\hyperlink{struct_t_b_contact_a1f1f3ad9ad256ef8dc9a900835ad3297}{phone\+Number}} 13 | \item 14 | String \mbox{\hyperlink{struct_t_b_contact_a58515374fabb74b5762a464a8a5aae3a}{first\+Name}} 15 | \item 16 | String \mbox{\hyperlink{struct_t_b_contact_ab3179716a52645d6dfaa322ebafee286}{last\+Name}} 17 | \item 18 | String \mbox{\hyperlink{struct_t_b_contact_a7a2eec7e8f285f716775ede283083846}{v\+Card}} 19 | \end{DoxyCompactItemize} 20 | 21 | 22 | \doxysubsection{Detailed Description} 23 | 24 | 25 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00035}{35}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 26 | 27 | 28 | 29 | \doxysubsection{Member Data Documentation} 30 | \mbox{\Hypertarget{struct_t_b_contact_a58515374fabb74b5762a464a8a5aae3a}\label{struct_t_b_contact_a58515374fabb74b5762a464a8a5aae3a}} 31 | \index{TBContact@{TBContact}!firstName@{firstName}} 32 | \index{firstName@{firstName}!TBContact@{TBContact}} 33 | \doxysubsubsection{\texorpdfstring{firstName}{firstName}} 34 | {\footnotesize\ttfamily String TBContact\+::first\+Name} 35 | 36 | 37 | 38 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00038}{38}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 39 | 40 | \mbox{\Hypertarget{struct_t_b_contact_ac7c11fe1902535cdf9006c9f57be8d82}\label{struct_t_b_contact_ac7c11fe1902535cdf9006c9f57be8d82}} 41 | \index{TBContact@{TBContact}!id@{id}} 42 | \index{id@{id}!TBContact@{TBContact}} 43 | \doxysubsubsection{\texorpdfstring{id}{id}} 44 | {\footnotesize\ttfamily int64\+\_\+t TBContact\+::id} 45 | 46 | 47 | 48 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00036}{36}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 49 | 50 | \mbox{\Hypertarget{struct_t_b_contact_ab3179716a52645d6dfaa322ebafee286}\label{struct_t_b_contact_ab3179716a52645d6dfaa322ebafee286}} 51 | \index{TBContact@{TBContact}!lastName@{lastName}} 52 | \index{lastName@{lastName}!TBContact@{TBContact}} 53 | \doxysubsubsection{\texorpdfstring{lastName}{lastName}} 54 | {\footnotesize\ttfamily String TBContact\+::last\+Name} 55 | 56 | 57 | 58 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00039}{39}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 59 | 60 | \mbox{\Hypertarget{struct_t_b_contact_a1f1f3ad9ad256ef8dc9a900835ad3297}\label{struct_t_b_contact_a1f1f3ad9ad256ef8dc9a900835ad3297}} 61 | \index{TBContact@{TBContact}!phoneNumber@{phoneNumber}} 62 | \index{phoneNumber@{phoneNumber}!TBContact@{TBContact}} 63 | \doxysubsubsection{\texorpdfstring{phoneNumber}{phoneNumber}} 64 | {\footnotesize\ttfamily String TBContact\+::phone\+Number} 65 | 66 | 67 | 68 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00037}{37}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 69 | 70 | \mbox{\Hypertarget{struct_t_b_contact_a7a2eec7e8f285f716775ede283083846}\label{struct_t_b_contact_a7a2eec7e8f285f716775ede283083846}} 71 | \index{TBContact@{TBContact}!vCard@{vCard}} 72 | \index{vCard@{vCard}!TBContact@{TBContact}} 73 | \doxysubsubsection{\texorpdfstring{vCard}{vCard}} 74 | {\footnotesize\ttfamily String TBContact\+::v\+Card} 75 | 76 | 77 | 78 | Definition at line \mbox{\hyperlink{_data_structures_8h_source_l00040}{40}} of file \mbox{\hyperlink{_data_structures_8h_source}{Data\+Structures.\+h}}. 79 | 80 | 81 | 82 | The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} 83 | \item 84 | src/\mbox{\hyperlink{_data_structures_8h}{Data\+Structures.\+h}}\end{DoxyCompactItemize} 85 | -------------------------------------------------------------------------------- /docs/html/_reply_keyboard_8cpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | AsyncTelegram2: src/ReplyKeyboard.cpp File Reference 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 | 22 | 23 | 27 | 28 | 29 |
24 |
AsyncTelegram2 25 |
26 |
30 |
31 | 32 | 33 | 38 | 39 | 40 | 48 | 49 | 50 |
54 |
55 | 56 | 57 |
58 |
59 |
60 |
61 |
62 |
Loading...
63 |
Searching...
64 |
No Matches
65 |
66 |
67 |
68 |
69 | 70 | 74 |
75 |
76 |
ReplyKeyboard.cpp File Reference
77 |
78 |
79 |
#include "ReplyKeyboard.h"
80 |
81 | Include dependency graph for ReplyKeyboard.cpp:
82 |
83 |
84 |
85 |
86 |

Go to the source code of this file.

87 |
88 | 89 | 92 | 93 | 94 | --------------------------------------------------------------------------------