redd icon indicating copy to clipboard operation
redd copied to clipboard

Add methods to access lists of emojis.

Open EliteMasterEric opened this issue 5 years ago • 0 comments

Added methods to access the available lists of emojis, either the global emojis (snoomojis) or the subreddit's custom emojis. Resolves issue #90.

Example code:

require 'redd'
require 'pp'

session = Redd.it(
    user_agent: 'Redd Test Bot (by /u/EliteMasterEric)',
    client_id:  '<INSERT>',
    secret:     '<INSERT>',
    username:   '<INSERT>',
    password:   '<INSERT>'
)

# Returns an array of global emojis. Each element is a hash with a URL, ID, and created_by fields.
pp session.emojis
# Returns an array of subreddit emojis. Each element is a hash with a URL, ID, and created_by fields.
pp session.subreddit("NFL").emojis

Result:

[{:url=>"https://emoji.redditmedia.com/46kel8lf1guz_t5_3nqvj/cake",
  :id=>:cake,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/p9sxc1zh1guz_t5_3nqvj/cat_blep",
  :id=>:cat_blep,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/f0fypg8k1guz_t5_3nqvj/doge",
  :id=>:doge,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/r05m1xcm1guz_t5_3nqvj/downvote",
  :id=>:downvote,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/63xo3dun1guz_t5_3nqvj/hamster",
  :id=>:hamster,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/mv60bklq1guz_t5_3nqvj/illuminati",
  :id=>:illuminati,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/2uaduvnr1guz_t5_3nqvj/kappa",
  :id=>:kappa,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/dgnf69ls1guz_t5_3nqvj/karma",
  :id=>:karma,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/crum4urt1guz_t5_3nqvj/orly",
  :id=>:orly,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/rk1bpelv1guz_t5_3nqvj/partyparrot",
  :id=>:partyparrot,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/l73ksapw1guz_t5_3nqvj/pupper",
  :id=>:pupper,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/5knu5pox1guz_t5_3nqvj/redditgold",
  :id=>:redditgold,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/rpczqdwy1guz_t5_3nqvj/sloth",
  :id=>:sloth,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/3whaar0s9ezz_t5_3nqvj/snoo",
  :id=>:snoo,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/8qgfoo9waezz_t5_3nqvj/snoo_angry",
  :id=>:snoo_angry,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/akdtlr0vaezz_t5_3nqvj/snoo_biblethump",
  :id=>:snoo_biblethump,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/94ntcn2taezz_t5_3nqvj/snoo_dealwithit",
  :id=>:snoo_dealwithit,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/49dz5ljraezz_t5_3nqvj/snoo_disapproval",
  :id=>:snoo_disapproval,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/wzxf63qpaezz_t5_3nqvj/snoo_facepalm",
  :id=>:snoo_facepalm,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/7xdss4doaezz_t5_3nqvj/snoo_feelsbadman",
  :id=>:snoo_feelsbadman,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>
   "https://emoji.redditmedia.com/nbv1idzmaezz_t5_3nqvj/snoo_feelsgoodman",
  :id=>:snoo_feelsgoodman,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/igu167dlaezz_t5_3nqvj/snoo_hearteyes",
  :id=>:snoo_hearteyes,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/wqivmcpjaezz_t5_3nqvj/snoo_hug",
  :id=>:snoo_hug,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/ehw8l3piaezz_t5_3nqvj/snoo_joy",
  :id=>:snoo_joy,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/8228r6bhaezz_t5_3nqvj/snoo_putback",
  :id=>:snoo_putback,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/a761ck7gaezz_t5_3nqvj/snoo_sad",
  :id=>:snoo_sad,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/19g4yg2faezz_t5_3nqvj/snoo_scream",
  :id=>:snoo_scream,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/mvwd04vdaezz_t5_3nqvj/snoo_shrug",
  :id=>:snoo_shrug,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>
   "https://emoji.redditmedia.com/dhbi1omcaezz_t5_3nqvj/snoo_simple_smile",
  :id=>:snoo_simple_smile,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/fh0615maaezz_t5_3nqvj/snoo_smile",
  :id=>:snoo_smile,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/hvfzdhf9aezz_t5_3nqvj/snoo_surprised",
  :id=>:snoo_surprised,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/nbgogsm7aezz_t5_3nqvj/snoo_tableflip",
  :id=>:snoo_tableflip,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/7jhvwsc5aezz_t5_3nqvj/snoo_thoughtful",
  :id=>:snoo_thoughtful,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/pgm55sg3aezz_t5_3nqvj/snoo_tongue",
  :id=>:snoo_tongue,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/mssz6vvv9ezz_t5_3nqvj/snoo_trollface",
  :id=>:snoo_trollface,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/p0vdh98u9ezz_t5_3nqvj/snoo_wink",
  :id=>:snoo_wink,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/cbl32coz9ezz_t5_3nqvj/table",
  :id=>:table,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/l7sfl3z0aezz_t5_3nqvj/table_flip",
  :id=>:table_flip,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/ad1td4bx9ezz_t5_3nqvj/upvote",
  :id=>:upvote,
  :created_by=>#<Redd::Models::User (unloaded): []>}]
[{:url=>"https://emoji.redditmedia.com/s3jybwefvcg21_t5_2qmg3/CIN",
  :id=>:CIN,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/03kgksv6vcg21_t5_2qmg3/CLE",
  :id=>:CLE,
  :created_by=>#<Redd::Models::User (unloaded): []>},
 {:url=>"https://emoji.redditmedia.com/0pem6mx2wcg21_t5_2qmg3/NFL",
  :id=>:NFL,
  :created_by=>#<Redd::Models::User (unloaded): []>}]

EliteMasterEric avatar Feb 27 '19 04:02 EliteMasterEric