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

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

рдореБрдЦреНрдп рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╡рд╣ рд╢рдмреНрджрдХреЛрд╢ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЪреИрдЯрдмреЙрдЯ рдЖрдзрд╛рд░рд┐рдд рд╣реИ (рдкреНрд░рд╛рд░реВрдк рдХреА рдПрдХ JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рддрд░реНрдХ рд▓рд┐рдЦрдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдмреЙрдЯрдлрд╝рд╛рджрд░ рдореЗрдВ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╣рдо рдЖрдЧреЗ рдорд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдЖрдкрдиреЗ рдмреЙрдЯ рдмрдирд╛рдпрд╛ рдФрд░ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛)ред рдЕрдм рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЦреБрдж рдХреЛ "рдкрд┐рдХ рдЕрдк" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
go get "github.com/liquiddeath13/reactivetgbot"
ред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ .go рдкреНрд░рд╛рд░реВрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╡рд╣рд╛рдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
package main import ( reactivetgbot "github.com/liquiddeath13/reactivetgbot" ) func main() { BotInstance := reactivetgbot.Init("YOUR_BOT_TOKEN", "PATH_TO_JSON_DICTIONARY") if BotInstance != nil { go BotInstance.Logic()
рдмреЙрдЯрдЗрдирд╕реНрдЯреИрдВрд╕ рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рдЪреИрдЯрдмреЛрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдПрдХ рдкрде рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕рд╡рд╛рд▓ рдФрд░ рдЬрд╡рд╛рдм рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рд╢рдмреНрджрдХреЛрд╢ рдЙрджрд╛рд╣рд░рдг:
[ { "Question" : "/about", "Answer" : "ChatBot created by liquiddeath13 in 2019 year" }, { "Question" : "Hello, how can i contact with your company?", "Answer" : "Hello, you can contact us by provided mail address. Email: coolnickname@hostname.domain" } ]
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЪреИрдЯрдмреЛрдЯ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рдЙрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдерд┐рдд рд╣реИред рдпрджрд┐ рдкреНрд░рд╢реНрди рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдВрджреЗрд╢ рдмреЙрдЯ рдХреЗ рдкрддреЗ рдкрд░ рдЖрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЙрддреНрддрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЙрддреНрддрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ (рдЕрд░реНрдерд╛рдд, рд╕рдВрджреЗрд╢ "рд╣реИрд▓реЛ, рдореИрдВ рдЖрдкрдХреА рдХрдВрдкрдиреА рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?" рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдмреЙрдЯ рдЙрддреНрддрд░ рджреЗрдЧрд╛ "рд╣реИрд▓реЛ, рдЖрдк рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдореЗрд▓ рдкрддреЗ рд╕реЗ рд╣рдорд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдИрдореЗрд▓: coolnickname@hostname.domain")ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрдиреНрдирдд рдХреЙрдорд░реЗрдб рдПрдХ рдмреЙрдЯ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
package main import ( "fmt" reactivetgbot "github.com/liquiddeath13/reactivetgbot" ) func main() { BotInstance := reactivetgbot.Init("YOUR_BOT_TOKEN", "PATH_TO_JSON_DICTIONARY") AskCounter := 0 if BotInstance != nil { BotInstance.AppendHandler("how much time people asked you?", func(Msg reactivetgbot.TGMessage) string { AskCounter++ return fmt.Sprintf("Hello.\n%d - so many time people asked me", AskCounter) }) go BotInstance.Logic() reactivetgbot.HerokuServiceUP("Telegram ChatBot by liquiddeath13") } }
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╢реНрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ "рд▓реЛрдЧреЛрдВ рдиреЗ рдЖрдкрд╕реЗ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рд┐рдпрд╛?"ред рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдмреЙрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдореВрд▓реНрдп рджреЗрдЧрд╛ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╢реНрди рдХрд┐рддрдиреА рдмрд╛рд░ рдкреВрдЫрд╛ред
рд╣рд░реЛрдХреВ рдкрд░ рддреИрдирд╛рддреА (рдХреЛрдИ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ)
рдЪреИрдЯрдмреЙрдЯреНрд╕, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рд╣реЗрд░реЛрдХреВ рдЬреИрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд╡рд╛ рдХреЛ "рд╕реЛрддреЗ рд╣реБрдП" рдЬрд▓реНрджреА рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд┐рдЦреА рдЧрдИ рдереА, рдЕрд░реНрдерд╛рддреН рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ (рд╣рд░ рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛)
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╣реЗрд░реЛрдХреВ рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ godep рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ "рдкреИрдХ" рдХрд░реЗрдЧрд╛ред рдЖрдк рдЗрд╕реЗ
go get github.com/tools/godep
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде "рдкрд┐рдХ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
godep save
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреИрдХреЗрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рд╣рд░реЛрдХреВ рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдиреЗ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ
рддреИрдирд╛рддреА рдЧрд╛рдЗрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрджрд┐ рдЖрдк "рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдХ рд╕рд╛рде" рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдм рдЖрдЬреНрдЮрд╛рдУрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ:
heroku login
рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ heroku login
рд╕рдВрд╕рд╛рдзрди рдкрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
git init
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ git remote add heroku ** git' , Heroku**
рд░рдирд┐рдВрдЧ git remote add heroku ** git' , Heroku**
git add .
рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ git add .
рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПgit commit -m " , commit'"
рдХрдорд╛рдВрдб git commit -m " , commit'"
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИредgit push heroku master
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд░реЛрдХреВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдбрд╛рд▓рдирд╛
рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж, рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╣рд░реЛрдХреВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЛрдб рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдЧрд╛, рдФрд░ рдмреЙрдЯ рдЖрдкрдХреЗ рдпрд╛ рдЖрдкрдХреЗ рдЕрдзреАрдирд╕реНрдереЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд┐рдпрдорд┐рдд рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдПрдХ рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
heroku logs --tail
рдореЗрдВ рдПрдХ
heroku logs --tail
, рдЬреЛ рдЖрдкрдХреЛ рд╣рд╛рд▓ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓реЙрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд┐рдЪрд╛рд░
рдХрдо рд╕реЗ рдХрдо рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдЬреЛ рди рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдЙрддреНрдкрдиреНрди рд╕рдВрджреЗрд╢ (рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд▓рдЧреНрдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░)ред
рдЕрдкрдбреЗрдЯ: рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдЖрдпрд╛ рдерд╛ рдХрд┐ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрддреНрд╕рд░реНрдЬрди рддрдВрддреНрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реЗрд╡рд╛ рдХреЗрд╡рд▓ 30 рдорд┐рдирдЯ рддрдХ рд╣реА рд░рд╣рддреА рд╣реИ, рдФрд░ рддрдм рддрдХ "рд╕реЛ рдЬрд╛рддреА рд╣реИ" рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рд╕реАрдзреЗ рдЦрдЯрдЦрдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд▓рд┐рдВрдХ рд╣рдореЗрд╢рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рд╣рд░рдХреБ-рдЬреИрд╕реА рд╣реИ
рд╣реЛрд╕реНрдЯрд░реНрд╕ ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж
рд╡реЗрдмрд╣реВрдХ рдкрд░ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдореЗрд░реА рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛, рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП
рдШреГрдгрд╛ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ - рдореБрдЭреЗ рдЖрдкрдХреА рдмрд╛рдд рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред
(рд╢рд╛рдпрдж) рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ
рд░реИрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬрдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда