【问题标题】:Replying to tweets on your timeline with twitter gem使用 twitter gem 回复时间线上的推文
【发布时间】:2013-07-10 07:13:57
【问题描述】:

我正在尝试从我的 twitter 时间线创建一个简单的回复,但遇到了一些问题,作为一个 ruby​​ 新手,我在理解文档时遇到了问题。

Twitter.mentions_timeline.each do |tweet|
    reply_to = tweet.from_user_name()
    #Twitter.update("@#{reply_to} Not today.")
end

这是目前为止写的,不多。不幸的是,在使用提及时间线时,这条推文似乎没有任何 from_user_name 。我正在使用这个 gem,但没有找到任何好的例子:https://github.com/sferik/twitter

如果有一些很好的例子来说明如何从时间线上抓取推文并回复这些推文,那就太好了。 twitter 也有任何东西可以区分“新推文”,还是我需要自己创建某种存储来区分新旧?

提前致谢:)

编辑:澄清一下,我想直接将所有推文发送给我并回复它们。我真的不想继续进行任何对话。

【问题讨论】:

    标签: ruby twitter


    【解决方案1】:

    有点晚了,但在twitter gem 的最新版本中,您可以通过以下方式回复推文:

    @client.update("@#{reply_to.user.username} Not today.", in_reply_to_status_id: reply_to.id)

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      这里有一些示例可能对使用 sferik 的 twitter gem 进行类似操作的人有所帮助。请注意,我目前使用的是 5.0.0 版本,因此您的里程可能会有所不同。

      假设您已配置 REST 客户端并将其分配给名为 client 的变量,您可以获得最近 20 次提及的数组(或者在过去 2 个月内收到的提及次数,如果更少的话)这一行:

      client.mentions_timeline.map(&:full_text)
      

      这些推文的各自提及者可以类似地通过以下方式获得:

      client.mentions_timeline.map(&:user).map(&:username)
      

      然后您可以按照建议使用client.update 进行您认为合适的回复。

      当我在 Ruby 中探索 API 时,我发现一个非常有用的工具是 pry。只需require,删除binding.pry,然后在终端中运行您的代码。然后你可以探索到你的心——或 API 的极限——的范围。

      【讨论】:

        猜你喜欢
        • 2015-04-23
        • 2016-06-24
        • 1970-01-01
        • 2013-07-18
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 2011-08-18
        • 2015-06-28
        相关资源
        最近更新 更多