March 13, 2019

Telegram notifications in Ruby App

module Notifications
  # sends messages through a bot to the specified channel/chat
  module TelegramBot
    def self.send_message(chat_id, text)
      token = ENV['TELEGRAM_BOT_TOKEN']
      return unless token

      link = make_link!(token, chat_id, text, 'html')
      do_request!(link)
    end

    def self.make_link!(token, channel, text, parse_mode)
      "https://api.telegram.org/bot#{token}/sendMessage?chat_id=#{channel}&text=#{text}&parse_mode=#{parse_mode}"
    end

    def self.do_request!(link)
      Kernel.system "curl -i -X POST \"#{link}\""
    end
  end
end

  • To create bot use FatherBot.
  • Obtain TELEGRAM_BOT_TOKEN from the conversation with FatherBot.
  • Create public or private channel.
  • Add bot as an administrator.
  • Open web.telegram.com.
  • Find you channel.
  • In the address bar take this number between https://web.telegram.org/#/im?p=c1355407937_8162199...
  • Add prefix -100 to it like this: -1001355407937. New number must consist of 13 numbers. This is your chat_id.
  • https://core.telegram.org/bots/api#html-style documents html format.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In non felis luctus, tristique odio ac, pretium purus. Nullam non justo fermentum quam finibus maximus. Duis ullamcorper rhoncus nisl vel commodo. Aenean lobortis ante vitae eros ultrices dapibus. Nulla tincidunt condimentum pretium. Phasellus maximus et urna a pulvinar. Cras dictum ligula non dictum eleifend. Sed eu sagittis orci. Suspendisse posuere fermentum velit in blandit. Praesent posuere, sem aliquam hendrerit ultricies, tortor tortor tempor tellus, dapibus euismod lacus turpis a eros. Vestibulum egestas nibh lorem, sit amet vulputate nunc posuere id. In porta at neque ac ultricies. Ut dolor mi, fringilla quis enim bibendum, vestibulum volutpat erat.

Aenean sit amet enim id enim commodo fermentum. Donec ac tortor in libero laoreet mollis vitae eget lectus. Ut quis iaculis lacus, ut tincidunt neque. Sed luctus, metus vitae mattis ultricies, neque metus molestie felis, id tincidunt justo dui ut neque. Phasellus sit amet ligula auctor, lobortis lorem at, ornare dui. Nulla in ipsum ante. Sed convallis ligula in enim bibendum, at pretium purus auctor. Suspendisse dictum eu lacus quis feugiat. Pellentesque rhoncus sagittis dictum.

Quisque ac ligula id libero aliquet vehicula sed quis nisi. Phasellus id mi interdum, feugiat tortor nec, facilisis odio. Vestibulum et orci placerat, finibus erat et, molestie quam. Praesent sollicitudin urna non rhoncus vehicula. Aliquam iaculis at quam vitae imperdiet. Fusce sollicitudin mauris risus, a suscipit risus posuere vel. Donec a augue mauris. Curabitur eu velit suscipit, tincidunt justo et, pulvinar risus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut eget urna semper, posuere nisi id, venenatis lacus. Ut fringilla, mi in egestas scelerisque, odio elit facilisis tortor, ut tristique nisl tortor vel enim. Nulla in venenatis nisi. Aenean eget quam ac ligula rhoncus pretium vel in orci.

Integer eu odio cursus, faucibus arcu non, accumsan turpis. Suspendisse eget justo dapibus neque sagittis venenatis ac nec dolor. Vivamus quis iaculis tortor, vitae auctor ligula. Fusce aliquet est eget tortor pretium, vitae dignissim lacus pharetra. Quisque vitae imperdiet metus. Sed diam urna, ornare eu pellentesque id, volutpat sed nulla. Nam suscipit, enim eget congue pellentesque, velit dolor faucibus augue, ac luctus ipsum lectus blandit magna. In hac habitasse platea dictumst. Praesent vel egestas nisi. Maecenas suscipit, quam eget pharetra volutpat, sapien dui dictum dolor, quis laoreet ante arcu eu risus. Etiam ultricies vehicula ex vel lacinia. Ut sit amet blandit ex.

Ut id velit in purus consequat semper quis eget nisi. Sed magna turpis, tincidunt in odio quis, sollicitudin euismod leo. Nulla ullamcorper quam in dolor facilisis, ut bibendum lacus efficitur. Nam ipsum turpis, tincidunt a mollis et, condimentum ut turpis. Nunc egestas erat id egestas condimentum. Donec mattis nulla ut varius egestas. Morbi at ex tincidunt, tempor lectus at, fringilla odio. Sed vitae tortor eros. Aliquam sagittis quam a lectus egestas, eu dictum mauris auctor.

Nam vitae eros id lacus mattis auctor et vehicula lorem. Donec feugiat at nibh id rutrum. Donec quis mollis augue, ut pulvinar mauris. Suspendisse efficitur eget ligula id volutpat. Nam ultrices, dui ac elementum accumsan, lacus ante laoreet metus, gravida vehicula ipsum nisi ac elit. Nulla odio est, aliquam ac tincidunt id, pulvinar ac ex. Nunc vel elit a libero tristique efficitur.

Duis pretium eleifend lobortis. In id nunc quis leo bibendum elementum. Suspendisse sagittis lobortis imperdiet. Pellentesque vehicula ligula vel elit mattis fringilla. Morbi risus arcu, sagittis id pulvinar cursus, bibendum in ex. Duis eu consequat leo. Aliquam erat volutpat. Sed at condimentum quam, at scelerisque dolor. Phasellus sit amet urna scelerisque, venenatis ipsum sed, pellentesque dui. Sed metus leo, posuere eget vehicula nec, malesuada a diam. Vestibulum consequat et ligula vel iaculis. Quisque euismod metus lectus, sed lobortis nulla suscipit non. Donec nisl turpis, lacinia eget feugiat volutpat, imperdiet quis lacus.

Ut consequat pharetra enim quis sodales. Aliquam at sagittis odio, in rutrum mauris. Fusce eget ultrices purus. Ut mattis in est quis molestie. Pellentesque id velit in purus ultrices dapibus sit amet eu nisl. Praesent at urna sodales, congue massa id, gravida est. Aliquam erat volutpat. Quisque congue suscipit venenatis. Donec ullamcorper dolor in laoreet feugiat.

Sed eu sollicitudin purus, id finibus lorem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam placerat dui eu mi blandit, sed lacinia leo condimentum. Sed in feugiat ex. Quisque eu facilisis ipsum, a tempor eros. Nulla consequat convallis gravida. Aenean et nunc ipsum. Duis bibendum placerat velit, ac vestibulum massa eleifend a. Pellentesque vel venenatis dolor. Maecenas sit amet tellus arcu. Quisque varius nisl est, in ultrices diam varius eget. Duis suscipit mi sed posuere interdum. Sed eget nisl non leo varius auctor.

Vestibulum congue lacus sit amet felis pulvinar, vitae rhoncus diam gravida. Sed molestie nibh vel nibh accumsan, et malesuada arcu gravida. Etiam luctus tortor ac blandit dictum. Nullam sit amet gravida est, quis auctor eros. Nulla varius risus ligula, id tristique dui malesuada at. Integer pharetra placerat tellus, ac aliquet sapien tristique a. Morbi ut augue aliquet, faucibus libero eget, tempus eros.

Nam nec lorem facilisis, rutrum augue vitae, eleifend libero. In eget turpis libero. Mauris ut augue quis felis luctus tristique sed a enim. Nam elementum diam magna, eget finibus tortor cursus posuere. Nunc aliquam tempor ipsum eu fermentum. Nullam maximus justo pretium nisl lobortis, sit amet aliquet dui sodales. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ex lectus, aliquet eu blandit id, congue quis libero. Curabitur pellentesque dictum posuere. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Integer accumsan mi et tellus tristique porttitor. Proin accumsan rutrum velit vel tincidunt. Curabitur vel mauris metus. Duis in lectus tellus. Sed dignissim, metus id varius dignissim, ipsum dui ornare metus, sed pulvinar sapien nisl at risus. Maecenas lacinia vulputate massa ut venenatis. Donec posuere est sit amet erat hendrerit, quis aliquet ante placerat. Proin lectus eros, tincidunt vel egestas vel, eleifend quis orci. Cras magna odio, consectetur ut nibh semper, accumsan finibus neque. Curabitur quis dui quam. Morbi gravida purus eget mauris porta fermentum. Integer non odio orci.

Ut tincidunt purus et sapien placerat iaculis. Phasellus feugiat varius ligula ut gravida. Sed sed dignissim lorem. Praesent sit amet tempor nisl. Cras vulputate ut felis vel ullamcorper. Sed odio risus, blandit eu cursus sit amet, convallis at dolor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Sed euismod metus ut turpis consectetur, sit amet viverra orci faucibus. Aliquam feugiat at velit a tincidunt. Mauris ut nisl tristique, bibendum lectus sit amet, dapibus mi. Cras ligula elit, rhoncus et mi et, efficitur eleifend sem. Donec sollicitudin non libero vitae consequat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc vehicula, magna nec ultricies dignissim, ipsum ante eleifend dolor, quis venenatis mi sem eu nunc. Quisque tincidunt enim ex, et blandit neque condimentum ac. Integer non congue odio. Duis elementum fringilla diam scelerisque interdum.

Nulla lacinia tincidunt nibh nec aliquet. Nullam eget hendrerit ex, a convallis risus. Vestibulum aliquam orci ex, sit amet luctus mauris vestibulum eget. Nunc iaculis purus et sapien feugiat, non eleifend enim semper. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc auctor sapien sit amet justo imperdiet, eget volutpat massa fringilla. Mauris congue augue massa, vel commodo leo dapibus id. Ut commodo dignissim interdum. Suspendisse sed pellentesque dolor. Integer ultricies laoreet mattis.

Nullam quis consequat turpis. Maecenas suscipit consequat urna, in volutpat urna elementum non. Donec aliquam volutpat imperdiet. Curabitur consequat in enim at fermentum. Suspendisse iaculis enim et turpis laoreet, cursus tincidunt arcu feugiat. Maecenas quis scelerisque mauris, nec tempor metus. In purus turpis, tincidunt in sagittis a, commodo id erat. Sed at auctor ex, ut rhoncus ligula. Proin bibendum tempor lacus, non gravida tortor molestie a. Nunc venenatis magna id commodo viverra. Vivamus a auctor lacus.

Integer eu rhoncus ipsum, tincidunt fringilla felis. Nullam eu felis scelerisque, elementum urna eget, dignissim risus. Suspendisse potenti. Cras cursus faucibus metus hendrerit porta. Etiam mattis, ex nec efficitur dapibus, nibh velit luctus nunc, molestie vestibulum nunc nunc eget risus. Ut lobortis est ut tellus ornare, fringilla facilisis sem maximus. Aliquam ut felis ex. Sed pulvinar, nunc sed consequat dignissim, mi diam suscipit augue, posuere vulputate ligula lorem a eros. In mattis, nunc et commodo tristique, diam quam interdum nulla, quis malesuada felis eros eget metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean gravida suscipit est sed laoreet. Pellentesque vulputate felis nec rutrum mollis. Curabitur placerat sem ac augue malesuada iaculis. Praesent varius lacus neque, ac elementum mauris dignissim non.

Sed sapien nisl, vehicula at augue venenatis, imperdiet gravida purus. Sed elementum pharetra accumsan. Donec fermentum mi ac lorem pellentesque eleifend. Integer semper vitae lectus eget iaculis. Nulla cursus nulla nec fringilla molestie. Sed id mi suscipit, laoreet mauris id, tristique nibh. Suspendisse iaculis suscipit sodales. Nullam mattis luctus malesuada. Aliquam erat volutpat. Aenean eget fermentum nulla. Pellentesque placerat bibendum nulla at condimentum.

Phasellus imperdiet tellus tempus consectetur posuere. Donec luctus nisl id vestibulum vulputate. In vel rhoncus dolor. Pellentesque tempor erat lectus, sed mattis ipsum scelerisque sed. Nam lobortis venenatis tellus, vel commodo lacus. Pellentesque dictum nibh velit, at tristique metus vulputate ac. Sed lorem arcu, laoreet ullamcorper magna ut, imperdiet sodales erat. Nam sed dignissim massa, vel vehicula mauris. Maecenas accumsan elementum ultrices. Quisque tincidunt efficitur purus vitae gravida. Sed non erat eu tortor blandit congue. Nam lobortis mi sit amet felis ullamcorper malesuada. Nam eget ante eget eros eleifend pharetra.

Vivamus dignissim blandit metus, sagittis scelerisque enim bibendum quis. Vestibulum sit amet libero sem. Cras eu pulvinar metus, et laoreet augue. Morbi eu elit enim. Fusce in ante justo. Aliquam volutpat non neque ut ullamcorper. Nulla facilisi. Curabitur tincidunt accumsan urna. Maecenas sodales gravida gravida. Etiam vitae nibh nulla. Mauris ut gravida arcu, ut varius neque. Donec in pretium odio. Donec vitae risus in ex congue sagittis in in lorem. In accumsan, dui ut porttitor vehicula, sem odio egestas ante, et imperdiet ligula quam id arcu.

Nullam bibendum augue non aliquet feugiat. Vivamus pharetra mattis augue ac mattis. Sed a dolor nec ligula ultrices faucibus eget et augue. Vivamus sit amet ultricies felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Integer at enim eget diam molestie malesuada nec pellentesque tortor. Nam fermentum in tellus in interdum. Nam eget hendrerit nisi.

Maecenas malesuada at orci eu suscipit. Nullam augue dui, egestas eget suscipit a, pulvinar sit amet ligula. Vestibulum arcu est, faucibus sed ex at, rhoncus gravida diam. Aenean ultrices sagittis lacus at pretium. Morbi sit amet quam vehicula, pretium nunc eu, volutpat est. Nulla tempus nisl quis facilisis venenatis. Curabitur sem sem, euismod quis quam at, sollicitudin molestie sapien. Suspendisse potenti. Proin elementum nibh ac purus placerat, quis fringilla sem blandit. Donec faucibus ac leo sit amet bibendum. Mauris tristique cursus orci non posuere. In odio eros, condimentum non lacus sit amet, mattis iaculis mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed consequat est non nulla lacinia tristique.

Donec viverra nulla at dolor condimentum, a pharetra libero hendrerit. Mauris interdum felis ut luctus elementum. Curabitur dignissim eleifend risus ut bibendum. Suspendisse tincidunt sapien urna. Suspendisse dictum, nisl ut consequat viverra, lacus magna sodales orci, vulputate dignissim ex diam in lacus. Curabitur id lacinia lorem. Etiam et fermentum magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Phasellus at rutrum est. In aliquam est nec venenatis condimentum. Maecenas vitae enim sem. Vivamus sed felis et dui porttitor hendrerit in vitae magna. Phasellus molestie massa non fringilla commodo.

Aenean sed tellus justo. Praesent id porta mauris, vel eleifend sapien. Curabitur malesuada tortor vel nunc finibus consectetur. Nam varius, lacus ultrices scelerisque porta, felis ligula rutrum nibh, non feugiat odio nisi sed nunc. Donec aliquet neque imperdiet tortor aliquet convallis. Nullam ut ante id magna imperdiet consectetur dapibus in velit. Nulla consequat risus ipsum, id efficitur enim condimentum non. Phasellus et hendrerit tellus.

Nam et lorem eu augue varius maximus. Maecenas vulputate faucibus quam, eu tincidunt diam dignissim in. Donec ut neque sit amet erat luctus laoreet. Cras eget nisl in ante maximus tempor. Praesent porta ultrices ex bibendum venenatis. Proin eget lobortis velit, vel fermentum urna. In hac habitasse platea dictumst. Maecenas semper, nunc tristique suscipit maximus, dolor ante feugiat dolor, vel mollis libero purus a eros. Aliquam sed placerat ante, consequat eleifend mi. Ut luctus ligula vitae est lacinia, et laoreet urna congue. Fusce ut commodo libero. Curabitur nunc turpis, rhoncus id risus eget, tempor volutpat nulla. Vestibulum aliquam metus quis mi tempor, sit amet imperdiet enim volutpat. Suspendisse quis mauris pretium, semper nibh vitae, blandit magna. Sed tempus eu risus scelerisque imperdiet. Sed in justo lectus.

Praesent a augue faucibus, sagittis tellus quis, interdum dolor. Duis vulputate ac massa eu pellentesque. Vivamus lacus elit, maximus sed libero ac, fermentum laoreet odio. Etiam euismod elit rutrum lectus porttitor malesuada. Fusce nec lorem neque. Mauris vel tristique neque, vitae consectetur nunc. Aenean vestibulum dapibus lorem, eu porta orci sagittis in. Curabitur ut orci nibh. Etiam at lorem augue. Donec egestas placerat nunc a aliquet. Aliquam sodales faucibus turpis, eget feugiat arcu pharetra quis. Suspendisse vulputate nisi sem. Quisque a pulvinar metus, a eleifend ligula.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sed hendrerit est. Cras a aliquam enim. Nunc tincidunt massa sit amet ligula ornare feugiat. Integer vel lectus ut magna tristique elementum ac eget metus. Proin massa nisi, venenatis eu scelerisque mollis, lacinia nec velit. Nunc in leo in eros laoreet ornare tincidunt sit amet dui.

Etiam finibus sit amet tellus eu finibus. Integer et tempus urna. Duis tristique vulputate facilisis. Fusce arcu sapien, ultrices ac lacinia eget, congue eget risus. Maecenas eleifend augue augue, sed rhoncus eros aliquam sit amet. Phasellus eu ullamcorper urna. Curabitur ac augue eu est vulputate mattis non at enim. Praesent libero purus, mollis ac lacus at, pretium pretium sapien. Nunc diam sem, auctor ut orci non, fringilla tempor ex.

Nam mattis quis mi at ultrices. Sed ornare odio nec neque posuere pretium. Nulla eu ipsum eget nibh congue pulvinar. Maecenas eget pretium lectus. Ut diam neque, porta vel iaculis id, posuere in nisi. Morbi accumsan nisi a lacus gravida sagittis. Donec suscipit, justo vel rhoncus viverra, ante elit dignissim ligula, nec pharetra leo massa vestibulum turpis. Donec massa nunc, iaculis nec porttitor ac, ullamcorper nec tellus. Integer a felis nec massa euismod viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Cras non imperdiet eros. Vestibulum posuere rhoncus nisi id iaculis. Aliquam a nunc erat. Cras egestas lacinia cursus. Ut accumsan nisi posuere magna rutrum vehicula. Quisque a porttitor odio. Aenean accumsan hendrerit nibh, sed tempor orci condimentum sed. Aliquam lacinia dolor scelerisque ante molestie tincidunt. Praesent ac dignissim dui, vitae interdum orci. Donec eget ipsum non magna pulvinar imperdiet sit amet vitae odio. Fusce ut tellus posuere leo sagittis viverra.

Nullam id volutpat odio. Donec aliquet vestibulum mauris. Quisque id erat id enim vehicula blandit. Quisque ex libero, egestas et semper sed, tristique non nibh. Suspendisse potenti. Quisque aliquet fringilla ex facilisis cursus. Aliquam mollis tincidunt consectetur.

Morbi vitae pretium tortor. Pellentesque pharetra condimentum massa, in sodales dolor faucibus non. Aenean tempus volutpat vestibulum. Pellentesque non nulla lorem. Nunc semper pulvinar ipsum, sit amet porta erat ultricies sed. Nam enim turpis, tincidunt at sodales a, convallis vel mi. Aenean non dapibus mi. Aenean semper condimentum mauris at semper. Nam tincidunt magna sit amet lorem aliquam bibendum eget laoreet mi. Maecenas porttitor interdum felis vel rutrum. In ut tortor eget est placerat consequat vel ac arcu. Aliquam interdum ipsum sed condimentum aliquet. Integer pharetra venenatis ultricies. Aliquam fermentum sapien nec commodo dignissim.

Etiam feugiat ex eu est convallis, sit amet porttitor ex suscipit. Mauris diam elit, faucibus eu tellus sed, faucibus lacinia mauris. Nullam aliquam, justo vel vehicula lacinia, orci nisl lacinia mauris, nec ultrices tellus odio semper tortor. Duis vestibulum posuere dui, in pretium enim pellentesque nec. Aenean sit amet eleifend ipsum. In luctus libero sit amet arcu porttitor, quis viverra mi rhoncus. Ut nec odio ac felis varius molestie. Mauris mattis ligula eget pretium varius. Donec hendrerit eros id mi tincidunt, ac sodales velit elementum. Proin accumsan auctor sem, sed pellentesque urna imperdiet eu. Fusce nec tincidunt lectus. Curabitur ornare ex mollis, tempor ante sit amet, rutrum massa. Vestibulum sit amet dolor sit amet felis venenatis bibendum. Vivamus sagittis blandit pulvinar.

Phasellus tristique tortor massa, maximus fermentum ipsum lacinia eu. Phasellus vel nibh purus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec vestibulum magna ac tellus fermentum, eget euismod lacus efficitur. Fusce quis erat quis sapien aliquet dignissim in at lorem. Proin eget odio vel metus fringilla pulvinar ac vitae metus. Nam faucibus tellus quis mi vehicula, vel imperdiet diam rhoncus. Nullam convallis dapibus lobortis. Nunc vitae cursus felis. Pellentesque sagittis viverra mi et ultrices. Nam velit orci, pellentesque eu sollicitudin eu, dictum eu erat.

Praesent pellentesque venenatis est nec finibus. Nulla id lectus sodales, finibus odio quis, lacinia nisi. Aliquam mauris elit, auctor eu pretium eget, finibus vitae sem. Morbi ex massa, placerat non dui quis, vestibulum ullamcorper metus. Nulla finibus est mauris, sit amet mattis metus vehicula in. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque laoreet condimentum tellus ac auctor. Suspendisse faucibus sapien sed enim eleifend, quis viverra mi varius. Vivamus aliquam libero nec dolor dictum, sit amet pellentesque lorem congue. Phasellus cursus, sapien quis vulputate varius, urna turpis fringilla odio, a accumsan mi est vel risus. Pellentesque feugiat bibendum lorem. Fusce vel quam vitae enim mattis cursus.

Vestibulum id nulla in urna posuere iaculis. Phasellus efficitur lectus nec sagittis sagittis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam vehicula massa sit amet libero ultrices sollicitudin. Integer sapien mauris, sagittis ut risus quis, maximus sodales tellus. Proin sed augue vitae enim vehicula congue sed at mauris. Quisque eget efficitur lacus, sit amet hendrerit ante. Donec in erat facilisis mi sagittis tempor. Curabitur facilisis dolor id lectus euismod gravida. Nam et fringilla nibh.