{"id":19369274,"url":"https://github.com/cbodden/twitter_post","last_synced_at":"2025-07-23T18:04:43.328Z","repository":{"id":145492689,"uuid":"96391769","full_name":"cbodden/twitter_post","owner":"cbodden","description":"twitter image / quote creator and post mechanism","archived":false,"fork":false,"pushed_at":"2017-07-19T23:11:22.000Z","size":72,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-24T13:48:55.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cbodden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-06T05:29:19.000Z","updated_at":"2017-07-07T21:53:13.000Z","dependencies_parsed_at":"2023-04-30T05:46:26.466Z","dependency_job_id":null,"html_url":"https://github.com/cbodden/twitter_post","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cbodden/twitter_post","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbodden%2Ftwitter_post","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbodden%2Ftwitter_post/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbodden%2Ftwitter_post/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbodden%2Ftwitter_post/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cbodden","download_url":"https://codeload.github.com/cbodden/twitter_post/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbodden%2Ftwitter_post/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266726609,"owners_count":23974925,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":[],"created_at":"2024-11-10T08:10:25.534Z","updated_at":"2025-07-23T18:04:43.322Z","avatar_url":"https://github.com/cbodden.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n\n              ::::::::::::.::    .   .::::::::::::::::::::::::::::::.,:::::: :::::::..\n              ;;;;;;;;''''';;,  ;;  ;;;' ;;;;;;;;;;;'''';;;;;;;;'''';;;;'''' ;;;;``;;;;\n                   [[      '[[, [[, [['  [[[     [[          [[      [[cccc   [[[,/[[['\n                   $$        Y$c$$$c$P   $$$     $$          $$      $$\"\"\"\"   $$$$$$c\n                   88,        \"88\"888    888     88,         88,     888oo,__ 888b \"88bo,\n                   MMM         \"M \"M\"    MMM     MMM         MMM     \"\"\"\"YUMMMMMMM   \"W\"\n                              ::::::::::.    ...      .::::::.::::::::::::\n                               `;;;```.;;;.;;;;;;;.  ;;;`    `;;;;;;;;''''\n                                `]]nnn]]',[[     \\[[,'[==/[[[[,    [[\n                                 $$$\"\"   $$$,     $$$  '''    $    $$\n                                 888o    \"888,_ _,88P 88b    dP    88,\n                          mmmmmmmYMMMb     \"YMMMMMP\"   \"YMmMY\"     MMM\n\n```\n\ntwitter_post\n====\n\ntwitter image / quote creator and post mechanism\n\n\nUsage\n----\nBase usage:\n```\ngit clone git@github.com:cbodden/twitter_post.git\ncd twitter_post\nmv .twitterpostrc\nvi ~/.twitterpostrc\n./twitter_post.sh\n```\n\nUsage explained:\n```\nNAME\n    ${NAME} - this is for creating and tweeting images with quotes on them\n\nSYNOPSIS\n    ${NAME} [-cdhlprs] [-c \u003cpath to file\u003e] [-d] [-h hashtags] [-l]\n            [-p dir] [-r] [-s time]\n\nDESCRIPTION\n    Access your Imgur account from the command line.\n    Options can only be used one at a time for now.\n\n    Create an image with comment that are pulled from a local repo.\n    Comments can be pulled from either a local file or from fortune.\n\nOPTIONS\n\n    -c [path to file]\n            This option is to specify the direct path to the rc file.\n\n    -d      This option defaults to the rc file located at ~.\n\n    -e [1,2,3,4]\n            This option controls where the quotes are sourced.\n            If none of these are specified at runtime then it defaults\n                to [3].\n            Options:\n                1       Shuffle from text file\n                2       Use \"fortune -s\"\n                3       Randomize between text file and shuffle (DEFAULT)\n                4       Use your own quote - if used you must specify (-f)\n\n    -f [\"quote\"]\n            This option must be used if you specify (-e 4).\n\n    -h [\"hashtag(s) / status\"]\n            If either (-c) or (-d) are not specified, this option must be\n            specified with either a status or hashtag(s) for twitter.\n\n    -l\n            This option keeps the script looping.\n            If using this option you must specify (-s).\n\n    -p [path to local dir]\n            This option is used if (-c) \u0026 (-d) are not used.\n            You must specify the path that contains the image dir and text file\n                with this option.\n\n    -r\n            This option is used with either (-c) or (-d).\n            It converts all the images in the images folder into\n                a numbered list.\n\n    -s [minutes or range of minutes]\n            This option is used with (-l).\n            You set the number of minutes used as the range for looping.\n                ex.: -s 60\n                Means that it will randomely sleep from 0-60 minutes until\n                    the next iteration.\n                or\n                ex.: -s \"30-90\"\n                Means that it will randomely sleep from 30-90 minutes until\n                    the next iteration.\n\n    -t\n            This option enables testing mode.\n            Needs to be used with either (-d) or both (-h) \u0026 (-p).\n\nNOTES\n    Before running the script run whats below to grant twitter access:\n        twurl -u user -p password --consumer-key key --consumer-secret secret\n\n    All the info here can be gotten on twitter or if you follow the twurl\n        documentation at : https://github.com/twitter/twurl\n\n    This script uses ~/.twitterpostrc as default but can be changed.\n    A sample rc file is in the repo with default values that need to\n\t\tbe changed.\n\n    This script also assumes that you have a folder (path) that contains\n        an images folder and if using a text file with quotes then a file\n        named twitter_post.sh.txt in the same path as the images\n        ex:\n            /path/to/images/\n            /path/to/twitter_post.sh.txt\n        In twitter_post.sh.txt, all quotes are on their own individual lines.\n\nEXAMPLES\n    Run once in default mode:\n        twitter_post.sh -d\n\n    Run in testing mode with defaults set:\n        twitter_post.sh -d -t\n\n    Run once with a different path to rc file:\n        twitter_post.sh -c /path/to/rcfile\n\n    Run in looped mode with different path to rc file in range of 90-180\n        minutes:\n        twitter_post.sh -c /path/to/rcfile -l -s 90-180\n\n    Run in looped mode with default rc file in range of 90-180 minutes:\n        twitter_post.sh -d -l -s 90-180\n\n    Sort images in images folder to a numbered list using the default rc:\n        twitter_post.sh -d -r\n```\n\n\nRequirements\n----\n\n- Bash (https://www.gnu.org/software/bash/)\n- Imagemagick (http://www.imagemagick.org/)\n- Gem / Twurl (https://github.com/twitter/twurl)\n- npm / ig-upload (https://www.npmjs.com/package/ig-upload)\n\n\nLicense and Author\n----\n\nAuthor:: Cesar Bodden (cesar@pissedoffadmins.com)\n\nCopyright:: 2017, Pissedoffadmins.com\n\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or\ndistribute this software, either in source code form or as a compiled\nbinary, for any purpose, commercial or non-commercial, and by any\nmeans.\n\nIn jurisdictions that recognize copyright laws, the author or authors\nof this software dedicate any and all copyright interest in the\nsoftware to the public domain. We make this dedication for the benefit\nof the public at large and to the detriment of our heirs and\nsuccessors. We intend this dedication to be an overt act of\nrelinquishment in perpetuity of all present and future rights to this\nsoftware under copyright law.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\nOTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,\nARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n\nFor more information, please refer to \u003chttp://unlicense.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbodden%2Ftwitter_post","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcbodden%2Ftwitter_post","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbodden%2Ftwitter_post/lists"}