рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред
рдореИрдВ рдПрдХ рдСрдлрд┐рд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ред рдФрд░ рдХрднреА-рдХрднреА рдореИрдВ рдЦрд╛рддреА рд╣реВрдВред рд╣рд╛рдБ, рд╣рд░ рджрд┐рдиред рдирд┐рдпреЛрдХреНрддрд╛ рд╣рдореЗрдВ рд▓рдВрдЪ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ - рдХрд░реНрдордЪрд╛рд░реА рдХрд▓ рдХреЗ рд▓рд┐рдП рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХрд╛ рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХрд▓ рдХреЛ рд▓рдВрдЪ рдХрд╛ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЬреЛ рдЖрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдЙрд╕реЗ рд▓рд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреНрдпрд╛ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рдЖрджреЗрд╢ рдкреГрд╖реНрда рдкрд░ рджреЛрдкрд╣рд░ рдХрд╛ рднреЛрдЬрди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди ...
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рд▓рдВрдЪ рдСрд░реНрдбрд░ рдкреЗрдЬ рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рд╕рдкреНрд▓рд╛рдпрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХреНрд╕рдПрд▓рдПрд╕ рдлрд╝рд╛рдЗрд▓ рднреЗрдЬрддрд╛ рд╣реИред
рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреА рдЧрдИ рдЙрджрд╛рд╣рд░рдг рдореВрд▓реНрдп рд╕реВрдЪреАрд░рд╛рддреНрд░рд┐рднреЛрдЬ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╡реНрдпрдХреНрддрд┐ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдзрдиреБрд╖ рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдРрд╕реЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░рд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ ...
рдЖрджреЗрд╢рд┐рдд рд░рд╛рддреНрд░рд┐рднреЛрдЬ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рд▓рдВрдЪ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдЬ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯрдкрджреЛрдВ рдХреЛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд╛рдо рдФрд░ рд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реНрдг рдкрд╛рда рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдореИрдВ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдореБрдЭреЗ рдПрдХ рд░реЗрдЯрд┐рдВрдЧ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рднреА рдЕрдкрдирд╛ рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдпрд╛рдж рди рд░рд╣реЗ рдХрд┐ рдореИрдВрдиреЗ рднреЛрдЬрди рдХрдХреНрд╖ рдореЗрдВ рдХреНрдпрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ред
рддреЛ рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд░рд╛рд╕реНрддрд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рдФрд░ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рдлрд┐рд░ рднреА: рдпрд╣ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ / рд╕реБрд░рдХреНрд╖рд╛ / рд╕рдорд░реНрдерди / рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдЦреЗрд▓ рд╣реИред рд▓реЗрдХрд┐рди рдЬреЛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рднреА рдирд╣реАрдВ рд╣реИред рдЦреИрд░, рд╣рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдСрд░реНрдбрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рднреВрдорд┐рдХрд╛ NodeJS рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд▓реА рдЧрдИ рдереАред
рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб
рдореИрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреВрдВрдЧрд╛, рдФрд░ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ рдЬреЛ рдкреГрд╖реНрда рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╣рдо рдиреЛрдбрдЬ рд╕рд░реНрд╡рд░ рд▓реЗрддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, MySQL рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рд╢реАрд░реНрд╖ рдкрд░ рд╕реАрдХреНрд╡реЗрд▓рд╛рдЗрдЬ рд▓рдЧрд╛рдПрдВ ред рдФрд░ рд╣рдо рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде
рдиреЛрдб-рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдмреЙрдЯ-рдПрдкреА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВрдЧреЗ:
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
рдкрде
/ рд░рд╛рддреНрд░рд┐рднреЛрдЬ / user_menu рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
res.sendFile(__dirname + '/public_html/user_script.js');
рдпрд╣ рдЙрди рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдЪрд▓рд┐рдд рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рд╣реА рдХрд┐рдпрд╛ - рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ - рд╕рднреА рдиреЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред
рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдЦрд░рд╛рдм рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реНрд╡рдпрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдо рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдлреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрде
/ рд░рд╛рддреНрд░рд┐рднреЛрдЬ / рдЖрд░ /: рдЖрдИрдбреА рдХреЗ рд╕рд╛рде, рдЖрдк рд╕рднреА рдкрджреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░реЗрдЯрд┐рдВрдЧ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реЗрдВред
рдкрде
/ рд░рд╛рддреНрд░рд┐рднреЛрдЬ / рдкреБрдирдГ рднреЗрдЬреЗрдВ /: рдЖрдИрдбреА рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рдХрд╛ рдкрд╛рда рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рдмрд╛рддрдЪреАрдд рд╣реЛрддреА рд╣реИ:
const parseMode: TelegramBot.SendMessageOptions = {parse_mode: "HTML"}; await this.bot.sendMessage(telegramId, htmlMessage, {...options, ...parseMode});
рдЙрд╕рдХреЗ рдмрд╛рдж, рдмреЙрдЯ рдСрд░реНрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛, рдкрде
/ рд░рд╛рддреНрд░рд┐рднреЛрдЬ / рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде ,
рдЖрджреЗрд╢ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдореВрд▓ рдСрд░реНрдбрд░ рдЕрдиреБрд░реЛрдз рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ ("рд╕реЗрд╡" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдСрд░реНрдбрд░ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рд░реНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ), рдСрд░реНрдбрд░ рдкреЗрдЬ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдСрд░реНрдбрд░ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдкреВрд░реЗ рдСрд░реНрдбрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ 2 рдкреЗрдЬреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрд░реНрдбрд░ рдкреЗрдЬ рдФрд░ рдореЗрдиреВ рдкреЗрдЬ - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХрд╛ рдЪрдпрди - рдЕрд░реНрдерд╛рдд, рдСрд░реНрдбрд░ рдХрд╛ рдЧрдарди)ред рдЖрджреЗрд╢ рдкреГрд╖реНрда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмреЗрддрд╣рд╛рд╢рд╛ рддрд░реНрдХрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдиреИрдк рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред
рдЕрдВрдд рдореЗрдВ,
/ рд░рд╛рддреНрд░рд┐рднреЛрдЬ / рджрд┐рди рдХрд╛ рдкрде рдЙрди рджрд┐рдиреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдЕрдкреВрд░реНрдг рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реБрдЖ рд╣реИ - рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрджреЗрд╢ рдХрд╛ рдЕрдЧрд▓рд╛ рджрд┐рди рдХреНрдпрд╛ рд╣реИ (рд╕рдкреНрддрд╛рд╣ рдХреЗ рдордзреНрдп рдореЗрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдФрд░ рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ)ред рдЙрддреНрдкрд╛рджрди рдХреИрд▓реЗрдВрдбрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдХреЗрд╡рд▓ рдЖрджреЗрд╢ рдкреГрд╖реНрда рдкрд░ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ (рдЖрдк рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ)ред рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕реЛрдВ рдХреЛ рдЖрдИрд╣реЛрд▓рд┐рдб рдХреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЕрд░реЗ рд╣рд╛рдБ, рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП jquery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреЗрдЬ рдЯреНрд░реА рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ
рдкреВрд░реЗ рдРрдб-рдСрди рдХрд╛ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рд╣реИред
рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдердЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдкрд╣рдЪрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ userId рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЖрдЬ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рджреЗрдЦреЗрдВ, рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ (рдЕрдВрддрд┐рдо 5), рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рд╕реЗрдЯ рдХрд░реЗрдВред
рд▓рдВрдЪ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рд░ рджрд┐рди рдПрдХ рд╣реА рд╕рдордп рдкрд░ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдСрд░реНрдбрд░ рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, 13:00ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдЕрдиреБрд╕реНрдорд╛рд░рдХ:
рдмреЙрдЯ рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рд╕рдордп рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: 9, 10 рдпрд╛ 11 рдШрдВрдЯреЗредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рдмрд╛рдж рдЖрдкрдиреЗ рдЖрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рд░ рдЕрдЧрд▓реЗ 10 рдорд┐рдирдЯ рдореЗрдВ рдмреЙрдЯ рдЖрдкрдХреЛ рдСрд░реНрдбрд░ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдСрд░реНрдбрд░ рдирд╣реАрдВ рдХрд░рддреЗ, рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдСрд░реНрдбрд░ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред
рдпрд╣ рдХреНрд░реЛрди рдХрд╛рд░реНрдп (
рдиреЛрдб-рд╢реЗрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
schedule.scheduleJob('*/10 9-13 * * 1-5', async function() {
рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧред рдореЗрдиреНрдпреВ
рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд╕ рднрдпрд╛рдирдХ рд╣реИ (рд╕реНрдХреНрд░реАрди 2 рджреЗрдЦреЗрдВ)ред рдФрд░ рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдЖрдк рдиреАрд░рд╕ рдареЛрд╕ рдФрд░ рдереЛрдбрд╝рд╛ рдЙрдкрдпреЛрдЧреА рдкрд╛рда рдХреЗ рдЯрди рдореЗрдВ рдХреБрдЫ рднреА рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред
рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЬреЛ рд╣рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдХрд╕реНрдЯрдо рдЧреНрд░реАрд╕реАрдореЛрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд▓рдЧрдЗрди рднрд░ рдЖрдП, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдмреЛрд▓реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА, рд▓рдВрдЪ рдкреЗрдЬ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЗрд╕реЗ
// @require рд╕реЗ рдЬреЛрдбрд╝рдХрд░рдЕрдм рд▓рдВрдЪ рдкреЗрдЬ рдХреЛ рдлрд╛рд╡рдбрд╝рд╛ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкреГрд╖реНрда рдХреЗ HTML рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рдЯреЗрдмрд▓ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
const table = $(".dinner__innerData"); const categoryList = [];
рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдВрдЪ рдлреЙрд░реНрдореЗрд╢рди рдкреЗрдЬ рдкрд░, рдСрд░реНрдбрд░ рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреАрдордд рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдпрджрд┐ рдЖрдк рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ ... рдореБрдЭреЗ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдорд╛рддреНрд░рд╛ рдФрд░ рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рдЫрд┐рдкреЗ рд╣реБрдП рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдерд╛ред
рдЕрдм рдкрд╛рда рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рдбрд┐рд╢ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рд░реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдкрдХрд╡рд╛рди рдХреЛ рдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрдЪрд░рд╛, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрди рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рдбрд┐рд╢ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ "рдЪрд┐рдХрди рд╢реЛрд░рдмрд╛ рдЕрдВрдбреЗ рдХреЗ рд╕рд╛рде (рдЪрд┐рдХрди рд╢реЛрд░рдмрд╛, рдЧрд╛рдЬрд░, рдкреНрдпрд╛рдЬ, рдЕрдВрдбреЗ, рд╕рд╛рдЧ)ред 100 рдЧреНрд░рд╛рдо рдореЗрдВ: рдкреНрд░реЛрдЯреАрди-3.43; рд╡рд╕рд╛, 2.86; рдХрд╛рд░реНрдмреЛрд╣рд╛рдЗрдбреНрд░реЗрдЯ 1,0; en.value-43.39kcal (200gr) "рдХреА рдкрд╣рдЪрд╛рди" рдЧреБрд▓рджрд╕реНрддрд╛ рджрд╣реА "рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рдиреЛрдВ, рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рдХреБрдЫ рдФрд░ рдореЗрдВ рд░реЗрдВрдЧ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдпрд╣ 90% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрдХрд╡рд╛рди рдХреА рд╕рдЯреАрдХ рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдФрд░ рд╣рдордиреЗ рдПрдХ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдФрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
function findByName(items, tdText) { tdText = clearTrash(tdText, true, true, true); return items.find(({clear_name}) => { return clear_name.trim().toLowerCase() === tdText; }); } function clearTrash(text, clearDescr, clearGrams, clearSymbols) {
рдФрд░ рдпрд╣ рдПрдХ рд░реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЧрдарди рд╣реИ:
const table = $(".dinner__innerData"); const nameTd = $(table).find(тАЬtr td:nth-child(2)тАЭ); for (let index = 0; index <= nameTd.length; index++) { const tdText = $(nameTd[index]).text();
рдФрд░ рд╡рд╣реА рд╣реБрдЖред
рд╕рд╣рдордд, рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ?рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧред рд╡реЛрдЯ
рдЕрдЧрд▓рд╛, рдЖрдЗрдП, рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рд╕рд╛рде рд╣реА рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВред
рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреГрд╖реНрдардЖрджреЗрд╢рд┐рдд рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рдкреГрд╖реНрда рдкрд░, рд░реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ:
async function addRatingForm() { const table = $(".dinner__innerData"); const nameTd = $(table).find("tr td:nth-child(1)");
рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ:

рд╣рд╛рдВ - рдХреЛрдб рднрдпрд╛рдирдХ рд╣реИред рд╣рд╛рдБ - рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рд╣рд╛рдБ - рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЕрддрд╛рд░реНрдХрд┐рдХред рд▓реЗрдХрд┐рди рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп рдиреНрдпреВрдирддрдо рдерд╛, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рд╣реБрдИред
рд▓рдХреНрд╖реНрдп рдЕрдкрдиреЗ рдФрд░ рдореЗрд░реЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛рдирд╛ рдерд╛, рдФрд░ рдпрд╣ рд▓рдХреНрд╖реНрдп, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред