Skip to content
This repository has been archived by the owner on Jun 25, 2018. It is now read-only.

pictweet() causes TypeError #127

Open
GeekBrony opened this issue Aug 13, 2016 · 3 comments
Open

pictweet() causes TypeError #127

GeekBrony opened this issue Aug 13, 2016 · 3 comments

Comments

@GeekBrony
Copy link

GeekBrony commented Aug 13, 2016

I'm trying to make my bot send a picture every time it detects a predefined word, but every time I try to get it to do so, it gives me a TypeError with the context of no implicit conversion of Symbol into Integer. Now, I know programming, but I'm not so smart with Ruby since this is my introduction to it.

Here's my code: http://pastebin.com/REQeQwrd

Here's the output:

@geekbrony_txt: User information updated
@geekbrony_txt: Loading model model/djgeekbrony.model
@geekbrony_txt: starting tweet stream
@geekbrony_txt: Online!
@geekbrony_txt: Mention from @DJGeekBrony: @geekbrony_txt reply with memes
Building: sentence 0 of 109
@geekbrony_txt: Tweeting #<Twitter::Tweet id=764334361974042625> - memes/0.jpg ["hey uhh, do you mind helping me with my app at some point."]
@geekbrony_txt: #<TypeError: no implicit conversion of Symbol into Integer>
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/rest/tweets.rb:231:in `[]'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/rest/tweets.rb:231:in `update_with_media'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:480:in `pictweet'
        bots.rb:64:in `block in on_mention'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:382:in `delay'
        bots.rb:62:in `on_mention'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:373:in `fire'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:297:in `receive_event'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:363:in `block in start'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/client.rb:116:in `block in request'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/response.rb:27:in `block in on_body'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/response.rb:25:in `each'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/response.rb:25:in `on_body'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/response.rb:16:in `<<'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/response.rb:16:in `<<'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/connection.rb:22:in `stream'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/client.rb:119:in `request'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter-5.16.0/lib/twitter/streaming/client.rb:92:in `user'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/lib/twitter_ebooks/bot.rb:362:in `start'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/bin/ebooks:346:in `block (3 levels) in start'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/bin/ebooks:344:in `loop'
        /home/geekbrony/.rvm/gems/ruby-2.3.0/gems/twitter_ebooks-3.1.6/bin/ebooks:344:in `block (2 levels) in start'
@geekbrony_txt: Sleeping before reconnect

Thanks for the help!

@ghost
Copy link

ghost commented Aug 21, 2016

It looks like you're passing the wrong arguments to pictweet-- it should be of the form pictweet("text to accompany image", "path to image")

@GeekBrony
Copy link
Author

Is there a way to reply to the tweet with a picture?

@Jokler
Copy link

Jokler commented Nov 1, 2016

The bot does't include have a function for that but you can do this instead:

id = twitter.upload(file).to_s
reply(tweet, 'Response text here', {media_ids: id})

"file" is an actual File object here.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants