рд╣рдордиреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рдХреНрд░рдо рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ (рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд┐рдирд╛)

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред

рдореИрдВ рдПрдХ рдСрдлрд┐рд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░ред рдФрд░ рдХрднреА-рдХрднреА рдореИрдВ рдЦрд╛рддреА рд╣реВрдВред рд╣рд╛рдБ, рд╣рд░ рджрд┐рдиред рдирд┐рдпреЛрдХреНрддрд╛ рд╣рдореЗрдВ рд▓рдВрдЪ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ - рдХрд░реНрдордЪрд╛рд░реА рдХрд▓ рдХреЗ рд▓рд┐рдП рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХрд╛ рдЖрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХрд▓ рдХреЛ рд▓рдВрдЪ рдХрд╛ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЬреЛ рдЖрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдЙрд╕реЗ рд▓рд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХреНрдпрд╛ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╣ рд╣рдореЗрд╢рд╛ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рдЖрджреЗрд╢ рдкреГрд╖реНрда рдкрд░ рджреЛрдкрд╣рд░ рдХрд╛ рднреЛрдЬрди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди ...

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рд▓рдВрдЪ рдСрд░реНрдбрд░ рдкреЗрдЬ рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рд╕рдкреНрд▓рд╛рдпрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХреНрд╕рдПрд▓рдПрд╕ рдлрд╝рд╛рдЗрд▓ рднреЗрдЬрддрд╛ рд╣реИред

рдЫрд╡рд┐
рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреА рдЧрдИ рдЙрджрд╛рд╣рд░рдг рдореВрд▓реНрдп рд╕реВрдЪреА

рд░рд╛рддреНрд░рд┐рднреЛрдЬ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╡реНрдпрдХреНрддрд┐ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдзрдиреБрд╖ рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдРрд╕реЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░рд╛ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ ...

рдЫрд╡рд┐
рдЖрджреЗрд╢рд┐рдд рд░рд╛рддреНрд░рд┐рднреЛрдЬ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдЫрд╡рд┐
рд▓рдВрдЪ рдСрд░реНрдбрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдЬ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдкрджреЛрдВ рдХреЛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд╛рдо рдФрд░ рд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реНрдг рдкрд╛рда рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдореИрдВ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдореБрдЭреЗ рдПрдХ рд░реЗрдЯрд┐рдВрдЧ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рднреА рдЕрдкрдирд╛ рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдпрд╛рдж рди рд░рд╣реЗ рдХрд┐ рдореИрдВрдиреЗ рднреЛрдЬрди рдХрдХреНрд╖ рдореЗрдВ рдХреНрдпрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ред

рддреЛ рд▓рдХреНрд╖реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд░рд╛рд╕реНрддрд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рдФрд░ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рдлрд┐рд░ рднреА: рдпрд╣ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ / рд╕реБрд░рдХреНрд╖рд╛ / рд╕рдорд░реНрдерди / рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рдЦреЗрд▓ рд╣реИред рд▓реЗрдХрд┐рди рдЬреЛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдкреГрд╖реНрда рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рднреА рдирд╣реАрдВ рд╣реИред рдЦреИрд░, рд╣рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдСрд░реНрдбрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рднреВрдорд┐рдХрд╛ NodeJS рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд▓реА рдЧрдИ рдереАред

рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб


рдореИрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦреВрдВрдЧрд╛, рдФрд░ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ рдЬреЛ рдкреГрд╖реНрда рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╣рдо рдиреЛрдбрдЬ рд╕рд░реНрд╡рд░ рд▓реЗрддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, MySQL рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╢реАрд░реНрд╖ рдкрд░ рд╕реАрдХреНрд╡реЗрд▓рд╛рдЗрдЬ рд▓рдЧрд╛рдПрдВ ред рдФрд░ рд╣рдо рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдиреЛрдб-рдЯреЗрд▓реАрдЧреНрд░рд╛рдо-рдмреЙрдЯ-рдПрдкреА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░реЗрдВрдЧреЗ:

//    const app = express(); // ... //   //    app.get("/dinners/user_menu", dinner.getUserMenu); //      app.get("/dinners/r/:id", dinner.getPersonalRatings); //   app.post("/dinners/r/:id", dinner.setRating); //      Telegram app.post("/dinners/resend/:id", dinner.resendMessage); //      app.post("/dinners/order", dinner.order); //  ,      app.post("/dinners/days", dinner.setDinnerDays); 

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:
рдкрде / рд░рд╛рддреНрд░рд┐рднреЛрдЬ / 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 рдкреЗрдЬреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрд░реНрдбрд░ рдкреЗрдЬ рдФрд░ рдореЗрдиреВ рдкреЗрдЬ - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХрд╛ рдЪрдпрди - рдЕрд░реНрдерд╛рдд, рдСрд░реНрдбрд░ рдХрд╛ рдЧрдарди)ред рдЖрджреЗрд╢ рдкреГрд╖реНрда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмреЗрддрд╣рд╛рд╢рд╛ рддрд░реНрдХрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдиреИрдк рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред

рдЕрдВрдд рдореЗрдВ, / рд░рд╛рддреНрд░рд┐рднреЛрдЬ / рджрд┐рди рдХрд╛ рдкрде рдЙрди рджрд┐рдиреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдПрдХ рдЕрдкреВрд░реНрдг рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрдЯ рд╣реБрдЖ рд╣реИ - рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрджреЗрд╢ рдХрд╛ рдЕрдЧрд▓рд╛ рджрд┐рди рдХреНрдпрд╛ рд╣реИ (рд╕рдкреНрддрд╛рд╣ рдХреЗ рдордзреНрдп рдореЗрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдФрд░ рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рд╣реИрдВ)ред рдЙрддреНрдкрд╛рджрди рдХреИрд▓реЗрдВрдбрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдХреЗрд╡рд▓ рдЖрджреЗрд╢ рдкреГрд╖реНрда рдкрд░ рддрд╛рд░реАрдЦреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ (рдЖрдк рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ)ред рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЧреИрд░-рдХрд╛рд░реНрдп рджрд┐рд╡рд╕реЛрдВ рдХреЛ рдЖрдИрд╣реЛрд▓рд┐рдб рдХреНрд▓рд╛рд╕ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 //     const trToday = $(".dinner_today")[0]; const tbodyAllDays = $(trToday).parent(); const dinnerDays = []; $(tbodyAllDays).children().each(async function() { if ($(this).hasClass("isHoliday")) { return; } const itemMenuDate = $(this).find("> td:first-child").text().substring(0, 10); dinnerDays.push(itemMenuDate); // ... }); await sendRequest("POST", `https://****/dinners/days/`, {days: dinnerDays}); 

рдЕрд░реЗ рд╣рд╛рдБ, рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП jquery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреЗрдЬ рдЯреНрд░реА рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ


рдкреВрд░реЗ рдРрдб-рдСрди рдХрд╛ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рд╣реИред

рдЫрд╡рд┐
рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде

рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдкрд╣рдЪрд╛рди рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ userId рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЖрдЬ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рджреЗрдЦреЗрдВ, рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ (рдЕрдВрддрд┐рдо 5), рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рд╕реЗрдЯ рдХрд░реЗрдВред
рд▓рдВрдЪ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рд░ рджрд┐рди рдПрдХ рд╣реА рд╕рдордп рдкрд░ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдСрд░реНрдбрд░ рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, 13:00ред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЕрдиреБрд╕реНрдорд╛рд░рдХ:

рдЫрд╡рд┐
рдмреЙрдЯ рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рд╕рдордп рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: 9, 10 рдпрд╛ 11 рдШрдВрдЯреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рдмрд╛рдж рдЖрдкрдиреЗ рдЖрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рд░ рдЕрдЧрд▓реЗ 10 рдорд┐рдирдЯ рдореЗрдВ рдмреЙрдЯ рдЖрдкрдХреЛ рдСрд░реНрдбрд░ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдСрд░реНрдбрд░ рдирд╣реАрдВ рдХрд░рддреЗ, рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдСрд░реНрдбрд░ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

рдпрд╣ рдХреНрд░реЛрди рдХрд╛рд░реНрдп ( рдиреЛрдб-рд╢реЗрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 schedule.scheduleJob('*/10 9-13 * * 1-5', async function() { // ... }); 

рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧред рдореЗрдиреНрдпреВ


рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд╕ рднрдпрд╛рдирдХ рд╣реИ (рд╕реНрдХреНрд░реАрди 2 рджреЗрдЦреЗрдВ)ред рдФрд░ рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдЖрдк рдиреАрд░рд╕ рдареЛрд╕ рдФрд░ рдереЛрдбрд╝рд╛ рдЙрдкрдпреЛрдЧреА рдкрд╛рда рдХреЗ рдЯрди рдореЗрдВ рдХреБрдЫ рднреА рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВред

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдмреЛрд▓реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 // @include http://****.int/* // @include http://****/* // @grant GM.xmlHttpRequest 

рд╕рд╛рде рд╣реА, рд▓рдВрдЪ рдкреЗрдЬ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЗрд╕реЗ // @require рд╕реЗ рдЬреЛрдбрд╝рдХрд░

рдЕрдм рд▓рдВрдЪ рдкреЗрдЬ рдХреЛ рдлрд╛рд╡рдбрд╝рд╛ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкреГрд╖реНрда рдХреЗ HTML рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рдЯреЗрдмрд▓ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

 const table = $(".dinner__innerData"); const categoryList = []; //      $(table).find(тАЬtbody tr td:nth-child(2})тАЭ).each(function () { const text = $(this).text(); //           if (!categoryList.find(name => name === text)) { $(this).parent().before("<tr><th colspan='6'>" + text + "</th><th style='display:none'></th><th style='display:none'></th><th style='display:none'>0</th><th style='display:none'><span class='dish__amount'>0</span></th></tr>"); categoryList.push(text); } }); //      $(table).find(тАЬthead th:nth-child(2)тАЭ).remove(); $(table).find("tbody tr td:nth-child(2)тАЭ).remove(); //     $(table).find(тАЬtbody tr td:nth-child(2)тАЭ).after("<td></td>"); $(table).find(тАЬthead th:nth-child(2)тАЭ).after("<th class='ui-state-default'></th>"); 

рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдВрдЪ рдлреЙрд░реНрдореЗрд╢рди рдкреЗрдЬ рдкрд░, рдСрд░реНрдбрд░ рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЯреЗрдмрд▓ рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреАрдордд рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдпрджрд┐ рдЖрдк рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ ... рдореБрдЭреЗ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдорд╛рддреНрд░рд╛ рдФрд░ рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рдЫрд┐рдкреЗ рд╣реБрдП рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рдерд╛ред

рдЕрдм рдкрд╛рда рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рдбрд┐рд╢ рдХреА рд░реЗрдЯрд┐рдВрдЧ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рд░реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдкрдХрд╡рд╛рди рдХреЛ рдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрдЪрд░рд╛, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрди рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рдбрд┐рд╢ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ "рдЪрд┐рдХрди рд╢реЛрд░рдмрд╛ рдЕрдВрдбреЗ рдХреЗ рд╕рд╛рде (рдЪрд┐рдХрди рд╢реЛрд░рдмрд╛, рдЧрд╛рдЬрд░, рдкреНрдпрд╛рдЬ, рдЕрдВрдбреЗ, рд╕рд╛рдЧ)ред 100 рдЧреНрд░рд╛рдо рдореЗрдВ: рдкреНрд░реЛрдЯреАрди-3.43; рд╡рд╕рд╛, 2.86; рдХрд╛рд░реНрдмреЛрд╣рд╛рдЗрдбреНрд░реЗрдЯ 1,0; en.value-43.39kcal (200gr) "рдХреА рдкрд╣рдЪрд╛рди" рдЧреБрд▓рджрд╕реНрддрд╛ рджрд╣реА "рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рдиреЛрдВ, рд╕рдВрдХреЗрддреЛрдВ рдФрд░ рдХреБрдЫ рдФрд░ рдореЗрдВ рд░реЗрдВрдЧ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдпрд╣ 90% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрдХрд╡рд╛рди рдХреА рд╕рдЯреАрдХ рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдФрд░ рд╣рдордиреЗ рдПрдХ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдФрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

 /** *         * @param items   * @param tdText    * @return   */ function findByName(items, tdText) { tdText = clearTrash(tdText, true, true, true); return items.find(({clear_name}) => { return clear_name.trim().toLowerCase() === tdText; }); } /** *     * @param text  * @param clearDescr       * @param clearGrams    * @return    */ 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(); //     const item = findByName(items, tdText); if (item) { let ratingTd = $(nameTd[index]).parent().find(тАЬtd:nth-child(2)тАЭ)[0]; //           let ratingText = "<i></i> " + parseFloat(item.avgrating).toFixed(1) + " (: " + item.orders + ", : " + item.ratingsCount + ")"; ratingText = item.persrating ? `<b><i></i> ${parseFloat(item.persrating).toFixed(1)} (: ${item.perscount})</b><br>` + ratingText : ratingText; //   $(ratingTd).css({ // getColorRating       background: getColorRating(item.avgrating) }).html(ratingText); } //           //   ,      const grams = getGrams(tdText); //     $(nameTd[index]).html(clearTrash(tdText, false, true, false)); //      ,       $(nameTd[index]).append("<br/><span></span>") .find("span") .append(grams) .css({"font-size": 10}); } 

рдФрд░ рд╡рд╣реА рд╣реБрдЖред

рдЫрд╡рд┐
рд╕рд╣рдордд, рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ?

рдЧреНрд░рд╛рд╣рдХ рднрд╛рдЧред рд╡реЛрдЯ


рдЕрдЧрд▓рд╛, рдЖрдЗрдП, рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рд╕рд╛рде рд╣реА рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВред

рдЫрд╡рд┐
рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда

рдЖрджреЗрд╢рд┐рдд рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЗ рдкреГрд╖реНрда рдкрд░, рд░реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ:

 async function addRatingForm() { const table = $(".dinner__innerData"); const nameTd = $(table).find("tr td:nth-child(1)"); //   for (let index = 0; index <= nameTd.length; index++) { const tdText = $(nameTd[index]).text(); $(nameTd[index]).html(clearTrash(tdText, false, true, false)); } //       Telegram $(table).append("<tfoot><tr><th colspan='6' class='rating-buttons btn-group margT0' style='display: table-cell;'></tr></tfoot>"); $(".rating-buttons").prepend(`<input type="submit" value="" class="btn_primary rating-button">`); $(".rating-buttons").prepend(`<input type="submit" value=" Telegram" class="btn_primary send-button">`); //      await diableButtonByDate(); //      for (let index = 0; index <= table.length; index++) { $(table[index]).find("tbody tr td:nth-child(4)").after("<td class='ratingInputTd'><input id='horizontal-spinner' class='ui-spinner-input' style='width:20px;'></td>"); $(table[index]).find("thead th:nth-child(4)").after("<th class='ui-state-default'></th>"); } $(".ui-spinner-input").spinner({ max: 10, min: 1 }); //   $(".rating-button").click(sendRating); $(".send-button").click(sendTelegram); } /** *      ,    */ async function diableButtonByDate() { //             . //              const buttons = $(".rating-button"); for (let index = 0; index <= buttons.length; index++) { const button = $(buttons[index]); const date = button.parent().parent().parent().parent().parent().parent().find("> td:nth-child(1)").text().substring(0, 10); if (await GM.getValue(date)) { button.attr({disabled: "disabled"}); } } } /** *  */ async function sendRating(event) { event.preventDefault(); const items = []; //         $(this).parent().parent().parent().parent().find("tr").each(function () { const tdList = $(this).find("td"); const ratingInput = $(tdList[4]).find("input"); if (!ratingInput.length) { return; } items.push({ count: $(tdList[2]).text(), price: $(tdList[1]).text(), name: $(tdList[0]).text(), rating: ratingInput.val(), }); }); await sendRequest("POST", `https://****/dinners/r/${telegramId}`, items); const menuDate = $(this).parent().parent().parent().parent().parent().parent().find("> td:nth-child(1)").text().substring(0, 10); await GM.setValue(menuDate, true); location.reload(); } 

рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ:

рдЫрд╡рд┐

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

рд▓рдХреНрд╖реНрдп рдЕрдкрдиреЗ рдФрд░ рдореЗрд░реЗ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рдд рдХреЗ рдЦрд╛рдиреЗ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдЦрдж рдмрдирд╛рдирд╛ рдерд╛, рдФрд░ рдпрд╣ рд▓рдХреНрд╖реНрдп, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Source: https://habr.com/ru/post/hi475892/


All Articles