telegram_bot_mgo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []