telegram_bot_mgo 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +6 -0
  6. data/README.md +35 -0
  7. data/Rakefile +6 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/lib/telegram_bot_mgo/models/audio.rb +12 -0
  11. data/lib/telegram_bot_mgo/models/callback_query.rb +15 -0
  12. data/lib/telegram_bot_mgo/models/chat.rb +25 -0
  13. data/lib/telegram_bot_mgo/models/chat_member.rb +23 -0
  14. data/lib/telegram_bot_mgo/models/chat_photo.rb +8 -0
  15. data/lib/telegram_bot_mgo/models/chosen_inline_result.rb +13 -0
  16. data/lib/telegram_bot_mgo/models/contact.rb +10 -0
  17. data/lib/telegram_bot_mgo/models/document.rb +12 -0
  18. data/lib/telegram_bot_mgo/models/entity.rb +10 -0
  19. data/lib/telegram_bot_mgo/models/file.rb +9 -0
  20. data/lib/telegram_bot_mgo/models/force_reply.rb +8 -0
  21. data/lib/telegram_bot_mgo/models/inline_keyboard_button.rb +14 -0
  22. data/lib/telegram_bot_mgo/models/inline_keyboard_markup.rb +7 -0
  23. data/lib/telegram_bot_mgo/models/inline_query.rb +13 -0
  24. data/lib/telegram_bot_mgo/models/input_media_photo.rb +10 -0
  25. data/lib/telegram_bot_mgo/models/input_media_video.rb +14 -0
  26. data/lib/telegram_bot_mgo/models/keyboard_button.rb +9 -0
  27. data/lib/telegram_bot_mgo/models/location.rb +8 -0
  28. data/lib/telegram_bot_mgo/models/message.rb +82 -0
  29. data/lib/telegram_bot_mgo/models/message_entity.rb +12 -0
  30. data/lib/telegram_bot_mgo/models/models.rb +29 -0
  31. data/lib/telegram_bot_mgo/models/photo_size.rb +13 -0
  32. data/lib/telegram_bot_mgo/models/reply_keyboard_markup.rb +10 -0
  33. data/lib/telegram_bot_mgo/models/reply_keyboard_remove.rb +8 -0
  34. data/lib/telegram_bot_mgo/models/response_parameters.rb +8 -0
  35. data/lib/telegram_bot_mgo/models/update.rb +21 -0
  36. data/lib/telegram_bot_mgo/models/user.rb +15 -0
  37. data/lib/telegram_bot_mgo/models/user_profile_photos.rb +8 -0
  38. data/lib/telegram_bot_mgo/models/venue.rb +11 -0
  39. data/lib/telegram_bot_mgo/models/video.rb +14 -0
  40. data/lib/telegram_bot_mgo/models/video_note.rb +12 -0
  41. data/lib/telegram_bot_mgo/models/voice.rb +10 -0
  42. data/lib/telegram_bot_mgo/version.rb +3 -0
  43. data/lib/telegram_bot_mgo.rb +6 -0
  44. data/telegram_bot_mgo.gemspec +29 -0
  45. metadata +128 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e80db103cc187bb342790765bcaeaf78cf2e2dfc
4
+ data.tar.gz: c20d2225b0d6a93b204dd87918876c9835fd740a
5
+ SHA512:
6
+ metadata.gz: 44a71e26515153dce325b725bc4948c5b44c144d770675e373a08d9a07e1f9cc0376b54f08772db364ec615a5cafd9a24f5cd761b8de5e590b1d611ec35a6b85
7
+ data.tar.gz: af8f0d7d10d74d6ccaaab08082986e7cf68a370291eaa3a08a49de422ec179d7cb232e655e0896048804efb21c463e56d214531731db11669857b9f38662f111
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
12
+ *.gem
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.1
5
+ before_install: gem install bundler -v 1.16.1
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in telegram_bot_mgo.gemspec
6
+ gemspec
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # TelegramBotMgo
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/telegram_bot_mgo`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'telegram_bot_mgo'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install telegram_bot_mgo
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/vcinly/telegram_bot_mgo.
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "telegram_bot_mgo"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,12 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Audio < Entity
4
+ field :file_id , type: String
5
+ field :duration , type: Integer
6
+ field :performer , type: String
7
+ field :title , type: String
8
+ field :mime_type , type: String
9
+ field :file_size , type: Integer
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class CallbackQuery < Entity
4
+ field :id , type: String
5
+ # field :from , type: User
6
+ has_one :from , class_name: "User", inverse_of: :callback_query
7
+ # field :message , type: Message
8
+ has_one :message , class_name: "Message", inverse_of: :callback_query
9
+ field :inline_message_id , type: String
10
+ field :chat_instance , type: String
11
+ field :data , type: String
12
+ field :game_short_name , type: String
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Chat < Entity
4
+ field :id , type: Integer
5
+ field :type , type: String
6
+ field :title , type: String
7
+ field :username , type: String
8
+ field :first_name , type: String
9
+ field :last_name , type: String
10
+ field :all_members_are_administrators , type: Boolean
11
+ # field :photo , type: ChatPhoto
12
+ has_one :photo
13
+ field :description , type: String
14
+ field :invite_link , type: String
15
+ # field :pinned_message , type: Message
16
+ has_one :pinned_message
17
+ field :sticker_set_name , type: String
18
+ field :can_set_sticker_set , type: Boolean
19
+
20
+
21
+ belongs_to :message , class_name: "Message", inverse_of: :chat
22
+ # belongs_to :message , class_name: "Message", inverse_of: :forward_from_chat
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ChatMember < Entity
4
+ # field :user , type: User
5
+ has_one :user , class_name: "User", inverse_of: :chat_member
6
+ field :status , type: String
7
+ field :until_date , type: Integer
8
+ field :can_be_edited , type: Boolean
9
+ field :can_change_info , type: Boolean
10
+ field :can_post_messages , type: Boolean
11
+ field :can_edit_messages , type: Boolean
12
+ field :can_delete_messages , type: Boolean
13
+ field :can_invite_users , type: Boolean
14
+ field :can_restrict_members , type: Boolean
15
+ field :can_pin_messages , type: Boolean
16
+ field :can_promote_members , type: Boolean
17
+ field :can_send_messages , type: Boolean
18
+ field :can_send_media_messages , type: Boolean
19
+ field :can_send_other_messages , type: Boolean
20
+ field :can_add_web_page_previews , type: Boolean
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ChatPhoto < Entity
4
+ field :small_file_id , type: String
5
+ field :big_file_id , type: String
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,13 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ChosenInlineResult < Entity
4
+ field :result_id , type: String
5
+ # field :from , type: User
6
+ has_one :from , class_name: "User", inverse_of: :chosen_inline_result
7
+ # field :location , type: Location
8
+ has_one :location , class_name: "Location", inverse_of: :chosen_inline_result
9
+ field :inline_message_id , type: String
10
+ field :query , type: String
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Contact < Entity
4
+ field :phone_number , type: String
5
+ field :first_name , type: String
6
+ field :last_name , type: String
7
+ field :user_id , type: Integer
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Document < Entity
4
+ field :file_id , type: String
5
+ # field :thumb , type: PhotoSize
6
+ has_one :thumb , class_name: "PhotoSize", inverse_of: :document
7
+ field :file_name , type: String
8
+ field :mime_type , type: String
9
+ field :file_size , type: Integer
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ # coding: utf-8
2
+ module TelegramBotMgo
3
+ module Model
4
+ class Entity
5
+ include Mongoid::Document
6
+ include Mongoid::Timestamps::Short
7
+
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class File < Entity
4
+ field :file_id , type: String
5
+ field :file_size , type: Integer
6
+ field :file_path , type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ForceReply < Entity
4
+ field :force_reply , type: Boolean
5
+ field :selective , type: Boolean
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,14 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class InlineKeyboardButton < Entity
4
+ field :text , type: String
5
+ field :url , type: String
6
+ field :callback_data , type: String
7
+ field :switch_inline_query , type: String
8
+ field :switch_inline_query_current_chat , type: String
9
+ # field :callback_game , type: CallbackGame
10
+ has_one :callback_game , class_name: "CallbackGame", inverse_of: :inline_keyboard_button
11
+ field :pay , type: Boolean
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class InlineKeyboardMarkup < Entity
4
+ field :inline_keyboard , type: Array
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,13 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class InlineQuery < Entity
4
+ field :id , type: String
5
+ # field :from , type: User
6
+ has_one :from , class_name: "User", inverse_of: :inline_query
7
+ # field :location , type: Location
8
+ has_one :location , class_name: "Location", inverse_of: :inline_query
9
+ field :query , type: String
10
+ field :offset , type: String
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class InputMediaPhoto < Entity
4
+ field :type , type: String
5
+ field :media , type: String
6
+ field :caption , type: String
7
+ field :parse_mode , type: String
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class InputMediaVideo < Entity
4
+ field :type , type: String
5
+ field :media , type: String
6
+ field :caption , type: String
7
+ field :parse_mode , type: String
8
+ field :width , type: Integer
9
+ field :height , type: Integer
10
+ field :duration , type: Integer
11
+ field :supports_streaming , type: Boolean
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class KeyboardButton < Entity
4
+ field :text, type: String
5
+ field :request_contact, type: Boolean
6
+ field :request_location, type: Boolean
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Location < Entity
4
+ field :longitude , type: Float
5
+ field :latitude , type: Float
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,82 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Message < Entity
4
+ field :message_id , type: Integer
5
+ # field :from , type: User
6
+ has_one :from , class_name: "User", inverse_of: :message
7
+ field :date , type: Integer
8
+ # field :chat , type: Chat
9
+ has_one :chat , class_name: "Chat", inverse_of: :message
10
+ # field :forward_from , type: User
11
+ has_one :forward_from , class_name: "User", inverse_of: :message
12
+ # field :forward_from_chat , type: Chat
13
+ has_one :forward_from_chat , class_name: "Chat", inverse_of: :message
14
+ field :forward_from_message_id , type: Integer
15
+ field :forward_signature , type: String
16
+ field :forward_date , type: Integer
17
+ # field :reply_to_message , type: Message
18
+ has_one :reply_to_message , class_name: "Message", inverse_of: :message
19
+ field :edit_date , type: Integer
20
+ field :media_group_id , type: String
21
+ field :author_signature , type: String
22
+ field :text , type: String
23
+ # field :entities , type: Array[MessageEntity]
24
+ field :entities , type: Array
25
+ # has_many :entities , class_name: "MessageEntity", inverse_of: :message
26
+ # field :caption_entities , type: Array[MessageEntity]
27
+ field :caption_entities , type: Array
28
+ # has_many :caption_entities , class_name: "MessageEntity", inverse_of: :message
29
+ # field :audio , type: Audio
30
+ has_one :audio , class_name: "Audio", inverse_of: :message
31
+ # field :document , type: Document
32
+ has_one :document , class_name: "Document", inverse_of: :message
33
+ # field :game , type: Game
34
+ has_one :game , class_name: "Game", inverse_of: :message
35
+ # field :photo , type: Array[PhotoSize]
36
+ field :photo , type: Array
37
+ has_many :photos , class_name: "PhotoSize", inverse_of: :message
38
+ # has_many :photo , class_name: "PhotoSize", inverse_of: :message
39
+ # field :sticker , type: Sticker
40
+ has_one :sticker , class_name: "Sticker", inverse_of: :message
41
+ # field :video , type: Video
42
+ has_one :video , class_name: "Video", inverse_of: :message
43
+ # field :voice , type: Voice
44
+ has_one :voice , class_name: "Voice", inverse_of: :message
45
+ # field :video_note , type: VideoNote
46
+ has_one :video_note , class_name: "VideoNote", inverse_of: :message
47
+ field :caption , type: String
48
+ # field :contact , type: Contact
49
+ has_one :contact , class_name: "Contact", inverse_of: :message
50
+ # field :location , type: Location
51
+ has_one :location , class_name: "Location", inverse_of: :message
52
+ # field :venue , type: Venue
53
+ has_one :venue , class_name: "Venue", inverse_of: :message
54
+ # field :new_chat_member , type: User
55
+ has_one :new_chat_member , class_name: "User", inverse_of: :message
56
+ # field :left_chat_member , type: User
57
+ has_one :new_chat_member , class_name: "User", inverse_of: :message
58
+ field :new_chat_title , type: String
59
+ # field :new_chat_photo , type: Array[PhotoSize]
60
+ field :new_chat_photo , type: Array
61
+ has_many :new_chat_photos , class_name: "PhotoSize", inverse_of: :message
62
+ # has_many :new_chat_photo , class_name: "PhotoSize", inverse_of: :message
63
+ field :delete_chat_photo , type: Boolean
64
+ field :group_chat_created , type: Boolean
65
+ field :supergroup_chat_created , type: Boolean
66
+ field :channel_chat_created , type: Boolean
67
+ field :migrate_to_chat_id , type: Integer
68
+ field :migrate_from_chat_id , type: Integer
69
+ # field :pinned_message , type: Message
70
+ has_one :pinned_message , class_name: "Message", inverse_of: :message
71
+ # field :invoice , type: Invoice
72
+ has_one :invoice , class_name: "Invoice", inverse_of: :message
73
+ # field :successful_payment , type: SuccessfulPayment
74
+ has_one :successful_payment , class_name: "SuccessfulPayment", inverse_of: :message
75
+ field :connected_website , type: String
76
+
77
+
78
+
79
+ belongs_to :update , class_name: "Update", inverse_of: :message
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,12 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class MessageEntity < Entity
4
+ field :type , type: String
5
+ field :offset , type: Integer
6
+ field :length , type: Integer
7
+ field :url , type: String
8
+ # field :user , type: User
9
+ has_one :user , class_name: "User", inverse_of: :message_entity
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,29 @@
1
+ require 'telegram_bot_mgo/models/entity'
2
+ require 'telegram_bot_mgo/models/update'
3
+ require 'telegram_bot_mgo/models/user'
4
+ require 'telegram_bot_mgo/models/chat'
5
+ require 'telegram_bot_mgo/models/message'
6
+ require 'telegram_bot_mgo/models/message_entity'
7
+ require 'telegram_bot_mgo/models/photo_size'
8
+ require 'telegram_bot_mgo/models/audio'
9
+ require 'telegram_bot_mgo/models/document'
10
+ require 'telegram_bot_mgo/models/video'
11
+ require 'telegram_bot_mgo/models/voice'
12
+ require 'telegram_bot_mgo/models/video_note'
13
+ require 'telegram_bot_mgo/models/contact'
14
+ require 'telegram_bot_mgo/models/location'
15
+ require 'telegram_bot_mgo/models/venue'
16
+ require 'telegram_bot_mgo/models/user_profile_photos'
17
+ require 'telegram_bot_mgo/models/file'
18
+ require 'telegram_bot_mgo/models/reply_keyboard_markup'
19
+ require 'telegram_bot_mgo/models/keyboard_button'
20
+ require 'telegram_bot_mgo/models/reply_keyboard_remove'
21
+ require 'telegram_bot_mgo/models/inline_keyboard_markup'
22
+ require 'telegram_bot_mgo/models/inline_keyboard_button'
23
+ require 'telegram_bot_mgo/models/callback_query'
24
+ require 'telegram_bot_mgo/models/force_reply'
25
+ require 'telegram_bot_mgo/models/chat_photo'
26
+ require 'telegram_bot_mgo/models/chat_member'
27
+ require 'telegram_bot_mgo/models/response_parameters'
28
+ require 'telegram_bot_mgo/models/input_media_photo'
29
+ require 'telegram_bot_mgo/models/input_media_video'
@@ -0,0 +1,13 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class PhotoSize < Entity
4
+ field :file_id , type: String
5
+ field :width , type: Integer
6
+ field :height , type: Integer
7
+ field :file_size , type: Integer
8
+ field :file_path , type: String
9
+
10
+ belongs_to :message , class_name: "Message", inverse_of: :photo
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ReplyKeyboardMarkup < Entity
4
+ field :keyboard, type: Array
5
+ field :resize_keyboard, type: Boolean
6
+ field :one_time_keyboard, type: Boolean
7
+ field :selective, type: Boolean
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ReplyKeyboardRemove < Entity
4
+ field :remove_keyboard , type: Boolean
5
+ field :selective , type: Boolean
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class ResponseParameters < Entity
4
+ field :migrate_to_chat_id , type: Integer
5
+ field :retry_after , type: Integer
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,21 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Update < Entity
4
+ field :update_id , type: Integer
5
+ # field :message , type: Message
6
+ has_one :message , class_name: "Message", inverse_of: :update
7
+ # field :edited_message , type: Message
8
+ has_one :edited_message , class_name: "Message", inverse_of: :update
9
+ # field :channel_post , type: Message
10
+ has_one :channel_post , class_name: "Message", inverse_of: :update
11
+ # field :edited_channel_post , type: Message
12
+ has_one :edited_channel_post , class_name: "Message", inverse_of: :update
13
+ # field :inline_query , type: InlineQuery
14
+ has_one :inline_query , class_name: "InlineQuery", inverse_of: :update
15
+ # field :chosen_inline_result , type: ChosenInlineResult
16
+ has_one :chosen_inline_result , class_name: "ChosenInlineResult", inverse_of: :update
17
+ # field :callback_query , type: CallbackQuery
18
+ has_one :callback_query , class_name: "CallbackQuery", inverse_of: :update
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class User < Entity
4
+ field :id , type: Integer
5
+ field :is_bot , type: Boolean
6
+ field :first_name , type: String
7
+ field :last_name , type: String
8
+ field :username , type: String
9
+ field :language_code , type: String
10
+
11
+ belongs_to :message , class_name: "Message", inverse_of: :from
12
+ belongs_to :message , class_name: "Message", inverse_of: :forward_from
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,8 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class UserProfilePhotos < Entity
4
+ field :total_count, type: Integer
5
+ field :photos, type: Array
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Venue < Entity
4
+ # field :location, type: Location
5
+ has_one :location, class_name: "Location", inverse_of: :venue
6
+ field :title, type: String
7
+ field :address, type: String
8
+ field :foursquare_id, type: String
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Video < Entity
4
+ field :file_id , type: String
5
+ field :width , type: Integer
6
+ field :height , type: Integer
7
+ field :duration , type: Integer
8
+ # field :thumb , type: PhotoSize
9
+ has_one :thumb , class_name: "PhotoSize", inverse_of: :video
10
+ field :mime_type , type: String
11
+ field :file_size , type: Integer
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class VideoNote < Entity
4
+ field :file_id , type: String
5
+ field :length , type: Integer
6
+ field :duration , type: Integer
7
+ # field :thumb , type: PhotoSize
8
+ has_one :thumb , class_name: "PhotoSize", inverse_of: :video_note
9
+ field :file_size , type: Integer
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ module TelegramBotMgo
2
+ module Model
3
+ class Voice < Entity
4
+ field :file_id , type: String
5
+ field :duration , type: Integer
6
+ field :mime_type , type: String
7
+ field :file_size , type: Integer
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ module TelegramBotMgo
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,6 @@
1
+ require "telegram_bot_mgo/version"
2
+ require "telegram_bot_mgo/models/models"
3
+
4
+ module TelegramBotMgo
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,29 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "telegram_bot_mgo/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "telegram_bot_mgo"
8
+ spec.version = TelegramBotMgo::VERSION
9
+ spec.authors = ["Vcinly"]
10
+ spec.email = ["vcinly@gmail.com"]
11
+
12
+ spec.summary = %q{Telegram Bot Mongoid Model}
13
+ spec.description = %q{Mongoid Model For Telegram Bot}
14
+ spec.homepage = "https://github.com/vcinly/telegram_bot_mgo"
15
+
16
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
18
+
19
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
+ f.match(%r{^(test|spec|features)/})
21
+ end
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
+
26
+ spec.add_development_dependency "bundler", "~> 1.16"
27
+ spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "rspec", "~> 3.0"
29
+ end
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: telegram_bot_mgo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Vcinly
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-07-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.16'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.16'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: Mongoid Model For Telegram Bot
56
+ email:
57
+ - vcinly@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - ".travis.yml"
65
+ - Gemfile
66
+ - README.md
67
+ - Rakefile
68
+ - bin/console
69
+ - bin/setup
70
+ - lib/telegram_bot_mgo.rb
71
+ - lib/telegram_bot_mgo/models/audio.rb
72
+ - lib/telegram_bot_mgo/models/callback_query.rb
73
+ - lib/telegram_bot_mgo/models/chat.rb
74
+ - lib/telegram_bot_mgo/models/chat_member.rb
75
+ - lib/telegram_bot_mgo/models/chat_photo.rb
76
+ - lib/telegram_bot_mgo/models/chosen_inline_result.rb
77
+ - lib/telegram_bot_mgo/models/contact.rb
78
+ - lib/telegram_bot_mgo/models/document.rb
79
+ - lib/telegram_bot_mgo/models/entity.rb
80
+ - lib/telegram_bot_mgo/models/file.rb
81
+ - lib/telegram_bot_mgo/models/force_reply.rb
82
+ - lib/telegram_bot_mgo/models/inline_keyboard_button.rb
83
+ - lib/telegram_bot_mgo/models/inline_keyboard_markup.rb
84
+ - lib/telegram_bot_mgo/models/inline_query.rb
85
+ - lib/telegram_bot_mgo/models/input_media_photo.rb
86
+ - lib/telegram_bot_mgo/models/input_media_video.rb
87
+ - lib/telegram_bot_mgo/models/keyboard_button.rb
88
+ - lib/telegram_bot_mgo/models/location.rb
89
+ - lib/telegram_bot_mgo/models/message.rb
90
+ - lib/telegram_bot_mgo/models/message_entity.rb
91
+ - lib/telegram_bot_mgo/models/models.rb
92
+ - lib/telegram_bot_mgo/models/photo_size.rb
93
+ - lib/telegram_bot_mgo/models/reply_keyboard_markup.rb
94
+ - lib/telegram_bot_mgo/models/reply_keyboard_remove.rb
95
+ - lib/telegram_bot_mgo/models/response_parameters.rb
96
+ - lib/telegram_bot_mgo/models/update.rb
97
+ - lib/telegram_bot_mgo/models/user.rb
98
+ - lib/telegram_bot_mgo/models/user_profile_photos.rb
99
+ - lib/telegram_bot_mgo/models/venue.rb
100
+ - lib/telegram_bot_mgo/models/video.rb
101
+ - lib/telegram_bot_mgo/models/video_note.rb
102
+ - lib/telegram_bot_mgo/models/voice.rb
103
+ - lib/telegram_bot_mgo/version.rb
104
+ - telegram_bot_mgo.gemspec
105
+ homepage: https://github.com/vcinly/telegram_bot_mgo
106
+ licenses: []
107
+ metadata: {}
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubyforge_project:
124
+ rubygems_version: 2.5.1
125
+ signing_key:
126
+ specification_version: 4
127
+ summary: Telegram Bot Mongoid Model
128
+ test_files: []