A Carousell.sg automation bot written in Golang
9.3K
A Carousell.sg automation bot written in Golang
WARNING: NIGHTLY RELEASES ONLY. Expect bugs and possibly breaking changes every update.
Report Bugs · Request Features





config.sample.yaml to config.yamlconfig.yaml with your configurations (breakdown below)docker run -it -d \
--name carousell-gobot \
-e TZ=UTC \
-v /path/to/config/folder:/data \
jarylc/carousell-gobot
carousell-gobot:
image: jarylc/carousell-gobot
environment:
- TZ=UTC
volumes:
- /path/to/config/folder:/data
CTRL+SHIFT+E / ⌘+⌥+E
CTRL+SHIFT+C / ⌘+⌥+CNetwork tab
Currently, only your account can send these commands:
sched/schedule/remind/reminder/deal - schedule a deal and set reminders based on reminders configuration
cancel/del/delete - cancel deal & remindersfaq - resend the FAQcontact - send contact detailsstop - immediately stop the bothttps://gitlab.com/jarylc/carousell-gobot/-/blob/master/config.sample.yaml
application - application related configurations
base_url - base URL of front-end portal (to be sent to forwarders on 2FA or Captcha requests)portal_listener - listen address for front-endchrome_listener - listen address for Chrome remote debuggercarousell - Carousell related configurations
cookie - either this or username and password or both are required, entire value inside Cookie header from aboveusername - either this or cookie or both are required, specify username for automatic session renewal (if Docker, make sure to run with env INSTALL_CHROME=1)password - either this or cookie or both are required, specify password for automatic session renewal (if Docker, make sure to run with env INSTALL_CHROME=1)ping_interval - interval to ping Carousell to check connectivitylow_ball - percentage of price to be considered low-ball in decimal notationmessage_templates - message templates
faq - frequently answered questions (optional, leave empty if not required)initial - new chat initial greeting (placeholders available)
{{NAME}} - name of sender{{ITEM}} - name of itemnot_available - chat message on a listing that is sold, reserved or deleted (placeholders available)
{{REASON}} - reason why listing is not available anymoreoffered - official offer using Carousell's offer button (placeholders available)
{{OFFER}} - offer valuepossible_offer - offer value detected from previously sent message (placeholders available)
{{OFFER}} - offer valuelower_offer - official offer value was decreased from possible offer, buyer being cheeky?low_balled - low-balled (placeholders available)
{{PERCENT}} - low-ball percent configured in configuration in percent notationcontact - contact details reply for contact commandreminder - reminder (placeholders available)
reminders - list of hours to set reminders for on every deal (optional, leave empty if none)command_prefix - prefix to use for the app to detect as a commandstate_prune - number of days to keep items in state after last activityforwarders - list of forwarders (optional, [] if none)
telegram (guide: https://core.telegram.org/bots):
- type: telegram
token: '1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZabcde1234' # bot token
chat_id: 87654321 # chat id
message_templates:
standard: |- # standard message
*Carousell Chat/Offer*
[{{NAME}} - {{ITEM}}](https://www.carousell.sg/inbox/{{ID}})
${{OFFER}}
{{FLAGS}}
reminder: |- # reminder message
*Carousell Deal Reminder*
[{{ITEM}}](https://www.carousell.sg/inbox/{{ID}})
Deal ${{OFFER}} in {{HOURS}} hour(s)!
discord (webhook only, guide: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks):
- type: discord
webhook_url: 'https://discord.com/api/webhooks/012345678910111213/lrennsXdocFAKEdOWAkpWEBHOOKMrMMcXa_FcmCURLUMNU_STsnbKVTRirmvLccmvkpA' # webhook url
message_templates:
standard: |- # standard message
**Carousell Chat/Offer**
[{{NAME}} - {{ITEM}}](https://www.carousell.sg/inbox/{{ID}})
${{OFFER}}
{{FLAGS}}
reminder: |- # reminder message
**Carousell Reminder**
[{{ITEM}}](https://www.carousell.sg/inbox/{{ID}})
Deal ${{OFFER}} in {{HOURS}} hour(s)!
slack (webhook only, guide: https://api.slack.com/messaging/webhooks):
- type: slack
webhook_url: 'https://hooks.slack.com/services/T1234GN5678/B1FAKEZNRCM/fPoWEBHOOK2Yyn3oURLOjW4J' # webhook url
message_templates:
standard: |- # standard message
*Carousell Chat/Offer*
<https://www.carousell.sg/inbox/{{ID}}|{{NAME}} - {{ITEM}}>
${{OFFER}}
{{FLAGS}}
reminder: |- # reminder message
*Carousell Reminder*
<https://www.carousell.sg/inbox/{{ID}}|{{ITEM}}>
Deal ${{OFFER}} in {{HOURS}} hour(s)!
See the open issues for a list of proposed features (and known issues).
Distributed under the GNU GENERAL PUBLIC LICENSE V3. See LICENSE for more information.
Jaryl Chng - [email protected]
Project Link: https://gitlab.com/jarylc/carousell-gobot/
Content type
Image
Digest
sha256:70de79310…
Size
10 MB
Last updated
almost 3 years ago
docker pull jarylc/carousell-gobot