Manage Rewards

Reward Types:






{% if rewards %} Rewards in orange are inactive. To activate a reward, add it to an active category. {% for reward, reward_info in rewards.items() %} {% if reward in redeems %} {% if reward in active_rewards %} {% else %} {% endif %} {% if reward_info["cooldown"] > 0 %} {% set minutes_label = 'minute' if reward_info["cooldown"] == 1 else 'minutes' %} {% else %} {% endif %} {% endif %} {% endfor %}
Name Price Info Cool down Category Actions
{{ prefix }}{{ reward }} {{ reward_info["price"] }} {{ reward_info["info"] }}{{ reward_info["cooldown"] }} {{ minutes_label }}None{{ reward_info["categories"] | join(', ') }}  

Goals

{% for reward, reward_info in rewards.items() %} {% if reward_info["type"] == "goal" %} {% if reward in active_rewards %} {% else %} {% endif %} {% endfor %}
Name Target Info Category Actions
{{ prefix }}{{ reward }} {{ reward_info["target"] }} {{ reward_info["info"] }} {{ reward_info["categories"] | join(', ') }}     {% endif %}

Votes

{% for reward, reward_info in rewards.items() %} {% if reward_info["type"] == "vote" %} {% if reward in active_rewards %} {% else %} {% endif %} {% endfor %}
Name Price Info Category Actions
{{ prefix }}{{ reward }} {{ reward_info["price"] }} {{ reward_info["info"] }} {{ reward_info["categories"] | join(', ') }}     {% endif %}
{% endif %}

Manage Viewer Accounts

{% if users %} You may need to refresh this page to get updated account information.

If a viewer makes a donation before registering their email address with OwnchatBot,
a temporary account is created. Temporary accounts are in orange.
To merge a viewer account with a temporary account:
  1. Copy the email address from the temporary account.
  2. Click "edit" next to the viewer account you want to merge.
  3. Paste the email address into that account.
  4. Click "save".

{% for user in users %} {% if not user[1] %} {% else %} {% endif %} {% set points_label = 'point' if user[2] == 1 else 'points' %} {% if user[4] %} {% if not user[1] %} {% else %} {% endif %} {% else %} {% endif %} {% if user[3] %} {% else %} {% endif %} {% endif %} {% endfor %}
User Points balance Email Authed
Temporary Account {{ user[1] }} {{ user[2] }} {{ points_label }}{{ user[4] }}{{ user[4] }}noneYesNo {% if user[1] %}
{% endif %}

Manage Categories

  

Active Categories

Inactive Categories

{% for cat in active_categories %}   {{ cat }} - Deactivate Delete
{% endfor %}
{% for cat in inactive_categories %}   {{ cat }} - Activate Delete
{% endfor %}

Manage Announcements

{% if settings_info[6] %} {% else %} {% endif %}
Enable periodic announcements
minutes How long between each announcement?
Enter your announcements, one per line. May contain html IMG tags to display images.




OwnchatBot Settings

minutes How often do you want to award your viewers points?
points How many points do you want to award them?
Character that preceeds chat commands, so OwnchatBot knows what to look for.
Example: "{{ settings_info[3] }}points"
What is the external URL of your OwnchatBot?

Owncast Integration

Create in Owncast Admin panel. Integrations -> Access Tokens (check all three boxes)
The token you created above.
The external URL of your Owncast instance, with "http://" or "https://".




Donations

OwnchatBot can integrate with Ko-fi and GiveButter, awarding viewers points for donations and monthly subscriptions.
For anonymous donations, no identifying information is logged or sent in chat announcements.

Coffee Cup Logo Ko-fi

Donations

{% if kofi_settings['integration'] %} {% else %} {% endif %} {% if kofi_settings['donations'] %} {% else %} {% endif %}
Enable Ko-fi integration.
Your Ko-fi webhook: {{ settings_info[8] }}/kofiHook Enter this in Ko-fi -> More -> API -> Webhooks.
Get from Ko-fi -> More -> API -> Webhooks -> Advanced -> Verification Token.
Enable awarding points for donations
points How many points should viewers recieve, for every dollar they donate?
What is your Ko-fi URL?

Subscriptions

{% if kofi_settings['subs'] %} {% else %} {% endif %}
Enable awarding points for monthly subscriptions
points How many points should subscribers recieve every month?




Give Butter Logo GiveButter

Scroll to the bottom to see instructions for enabling anonymous donations.

Donations

{% if gb_settings['integration'] %} {% else %} {% endif %} {% if gb_settings['donations'] %} {% else %} {% endif %}
Enable GiveButter integration. Enable GiveButter integration.
Your GiveButter webhook: {{ settings_info[8] }}/gbHook Enter this in GiveButter -> Settings -> Developers -> Webhooks -> +New Webhook.
In the GiveButter webhooks window, click on the eye icon (View) next to the webhook you set up for OwnchatBot.
Enable awarding points for donations
points How many points should viewers recieve, for every dollar they donate?
What is your GiveButter URL?
Monthy subscriptions are not yet supported for GiveButter. Coming soon.



GiveButter currently has no built-in function for anonymous donations. However, there is a work-around:
In your GiveButter dashboard, go to Campaigns. Click the three dots next to your campaign -> Edit -> Tools -> Custom Fields -> New Custom Field -> Radio.
Enter the following information:
"Title" and "Answers" must be exacty as you see here, or OwnchatBot may not pick them up correctly.
If these are not set, or are set incorrectly, OwnchatBot will default to anonymous donation.


To-Do List


Stream Overlay

To place the to-do list overlay in your stream, create a browser source in your streaming software
using the following URL: {{ settings_info[8] }}/todo
 Recommended width: 420
 Recommended height: 500
 In OBS, check "Refresh browser source when scene becomes active"

You can spruce up your list with fonts and colors by inserting custom CSS into the browser source.
Example CSS:
 h4 {
  font-size: 32px;
  text-decoration: underline;
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 0;
 }

 ul {
  margin-top: 0;
  padding-top: 0;
 }

 li {
  font-size: 30px;
 }

If you want to use a custom font, place the font file in your "instance/assets/" folder, and reference the following location in your CSS:
  /assets/yourfont.ttf

Customize Your Alerts

{% set follower_alert = alerts_dict["FOLLOWER_ALERT"] %} {% if follower_alert %} {% if "webm" in follower_alert %} {% else %} {% endif %} {% else %} {% endif %} {% set milestone_alert = alerts_dict["MILESTONE_ALERT"] %} {% if milestone_alert %} {% if "webm" in milestone_alert %} {% else %} {% endif %} {% else %} {% endif %} {% set goal_alert = alerts_dict["GOAL_ALERT"] %} {% if goal_alert %} {% if "webm" in goal_alert %} {% else %} {% endif %} {% else %} {% endif %} {% set gb_alert = alerts_dict["GB_ALERT"] %} {% if gb_alert %} {% if "webm" in gb_alert %} {% else %} {% endif %} {% else %} {% endif %}
Type Image URL
New Follower:User Configurable ImageEmpty   {{ settings_info[8] }}/alert/follower
Milestone Reached:User Configurable ImageEmpty   {{ settings_info[8] }}/alert/milestone
Goal Reached:User Configurable ImageEmpty   {{ settings_info[8] }}/alert/goal
Goal Reached:User Configurable ImageEmpty   {{ settings_info[8] }}/alert/goal

Stream Overlays

To use these alerts, create a browser source in your streaming software, using the URLs specified above.
 Recommended width: 200
 Recommended height: 200
 In OBS, check "Refresh browser source when scene becomes active"

Each alert will display the name of the viewer that triggered the alert. You can customize the position of the name, as well as fonts and colors by inserting custom CSS into the browser source.
Example CSS:
 #nameBox {
  top: 50%; /* Vertical position */
  left: 50%; /* Horizontal position */
  font-size: 20px; /* Adjust as needed */
  font-weight: bold; /* Adjust as needed */
 }

If you want to use a custom font, place the font file in your "instance/assets/" folder, and reference the following location in your CSS:
  /assets/yourfont.ttf