{"id":17600360,"url":"https://github.com/flum1025/earch","last_synced_at":"2026-05-13T12:47:39.243Z","repository":{"id":56844441,"uuid":"99715521","full_name":"flum1025/earch","owner":"flum1025","description":"This application monitors the Twitter timeline and notifies Slack according to the conditions.","archived":false,"fork":false,"pushed_at":"2018-08-19T11:33:25.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-09T09:51:43.303Z","etag":null,"topics":["command-line","ruby","rubygems","slack","twitter"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flum1025.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-08T16:48:58.000Z","updated_at":"2018-08-19T11:33:27.000Z","dependencies_parsed_at":"2022-09-09T04:11:26.884Z","dependency_job_id":null,"html_url":"https://github.com/flum1025/earch","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/flum1025/earch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flum1025%2Fearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flum1025%2Fearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flum1025%2Fearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flum1025%2Fearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flum1025","download_url":"https://codeload.github.com/flum1025/earch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flum1025%2Fearch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014780,"owners_count":26085594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","ruby","rubygems","slack","twitter"],"created_at":"2024-10-22T11:10:43.010Z","updated_at":"2025-10-15T05:32:20.677Z","avatar_url":"https://github.com/flum1025.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ~~Earch~~\n\n**Use [twing_earch](https://github.com/flum1025/twing_earch)**\n\nThis application monitors the Twitter timeline and notifies Slack according to the conditions.\n\n\u003cimg width=\"631\" alt=\"2017-08-25 11 28 11\" src=\"https://user-images.githubusercontent.com/9972700/29697194-a281ca3e-8988-11e7-9027-67449a9e2e34.png\"\u003e\n\n## Installation\n\n    $ gem install earch\n\n### Docker\n\nyou can use docker repository [flum1025/earch](https://hub.docker.com/r/flum1025/earch)\n\n    $ docker run -v $(pwd)/setting.yml:/setting.yml flum1025/earch\n\nself build\n\n    $ git clone https://github.com/flum1025/earch.git\n    $ docker build -t earch .\n\ncompose\n\n    $ git clone https://github.com/flum1025/earch.git\n    $ vim setting.yml # make configuration file\n    $ docker-compose up\n\n## Usage\n\nYou must be prepared the configuration file first(The details will be described later). Save configuration file and run the following command.\n\n    $ earch -s setting.yml\n\n## Configuration File\n\nConfiguration file is `YAML` format file. YAML key and their allowable values are described below.\n\n### Example\n\n```yaml\ntwitter:\n  stream_options:\n    replies: all\n  screen_name: flum_                           #require\n  api_key:\n    consumer_key: CONSUMER_KEY                 #require\n    consumer_secret: CONSUMER_SECRET           #require\n    access_token: ACCESS_TOKEN                 #require\n    access_token_secret: ACCESS_TOKEN_SECRET   #require\nslack:\n  api_key:\n    token: xxxxxxxxxxxxxxxxxxx                 #require\n  user_icon: ':earch:'\n  notify_channel: '#earch'                     #require\n  icon: ':flum_:'\nrules:                                         #require\n  - text: !ruby/regexp /test.*/\n    screen_name: twitterdev\n  - hashtag:\n      - test\n      - events\n    favorite_count: 50\n  - retweet_count: !ruby/range 0..10\n  - lang: ja\n    retweet: false\n    quote: false\n    reply: true\n```\n\n### twitter\n\nThis key is for `Twitter` configuration.\n\nArgument|Required|Description\n---|---|---\nstream_options|Optional|Refer to [Streaming API request parameters](https://dev.twitter.com/streaming/overview/request-parameters)\napi_key|Required|Get from [Twitter Application Management](https://apps.twitter.com/)\n\n### slack\n\nThis key is for `Slack` configuration.\n\nArgument|Required|Description\n---|---|---\napi_key|Required|Get from [Bots](https://your-team.slack.com/apps/manage/custom-integrations)\nuser_icon|Optional|Set the [Slack emoji](https://flum1025.slack.com/customize/emoji)\nnotify_channel|Required|Specify the notification channel\nicon|Optional|Set your Twitter account icon\n\n### rules\n\nThe value corresponding to a key is need to `Array`. You can use multiple rules and conditions.\n\nArgument|DataType|Example|Comments\n---|---|---|---\ntext|String|`text: tweet text`\n||Regexp|`text: !ruby/regexp /^\\d+$/`\nuser_id|String|`user_id: \"12345\"`|Not a number\nuser_name|String|`user_name: twitter name`\n||Regexp|`user_name: !ruby/regexp /^[A-Z]+$/`\nscreen_name|String|`screen_name: screen name`\n||Regexp|`screen_name: !ruby/regexp /^@test[0-9]+/`\nfavorite_count|Integer|`favorite_count: 50`|Get over 50 the number of favorites\n||Range|`favorite_count: !ruby/range 10..20`|The number of favorites is 10 to 20\nretweet_count|Integer|`retweet_count: 50`\n||Range|`retweet_count: !ruby/range 10..20`\nlang|String|`lang: ja`\n||Regexp|`lang: !ruby/regexp /ja\\|en/`\nuser_lang|String|`user_lang: ja`\n||Regexp|`user_lang: !ruby/regexp /ja\\|en/`\nsource|Array\\\u003cString\u003e|`source: [TweetDeck, Twitter for WEB]`\nhashtag|Array\\\u003cString\u003e|`source: [test, memo]`|\nmention|Array\\\u003cString\u003e|`source: [twitter, twitterdev]`|String for screen_name\n||Array\\\u003cInteger\u003e|`source: [123, 456]`|Integer for id\nreply|Boolean|`reply: false`\nquote|Boolean|`quote: false`\nretweet|Boolean|`retweet: false`\n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/flum1025/earch. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the Earch project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/flum1025/earch/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflum1025%2Fearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflum1025%2Fearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflum1025%2Fearch/lists"}