Metadata-Version: 2.4
Name: swagsocialbots
Version: 1.0.0.dev8
Summary: swagsocialbots is a library to make bots with the swagsocial.py library
Project-URL: Homepage, https://git.nomaakip.xyz/maxie/swagsocialbots
Project-URL: Issues, https://git.nomaakip.xyz/maxie/swagsocialbots/issues
Author: maxie
License-Expression: GPL-3.0-only
License-File: LICENSE
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# swagsocialbots

Now on PyPI: https://pypi.org/project/swagsocialbots/

Python module to make bots in swagsocial with [swagsocial.py](https://pypi.org/project/swagsocial-py)

Created by maxie!

# Getting your API key

Log into your desired swagsocial account and go to Settings --> API, or [click this link](https://swag.nomaakip.xyz/settings/api)

If you would like to grant manage post permissions, which includes making posts and replies. It also allows deleting posts and replies, so be careful!

# an example

```python
from swagsocialbots import SwagBot
import time

bot = SwagBot()

# example command
# on swagsocial you would mention the bot
# write the command afterwards, and the arguments for it
#
# here its gonna be @botexample hello @user
# will reply with "Hello User Display Example"
#
# be aware that arguments that start with @ are always converted to User objects
# digits are converted to integers, the rest are just strings
@bot.command()
def hello(ctx, user):
    ctx.reply(f"Hello {user.display_name}")

@bot.event() # will reply to a post the bot is tagged on
def on_mention(ctx):
    ctx.reply(f"Hello, @{ctx.post.author.username}")

# will do anything in a forever loop, useful for bots that
# post something every N amount of time
@bot.event()
def forever_loop():
    bot.post("meow")
    time.sleep(3600) # bot will post "meow" every 1 hour

# will reply with an error message related to the comamnd
@bot.event()
def on_command_error(ctx, exception):
    ctx.reply(f"something went wrong: {exception.__class__.__name__}: {exception}")

@bot.event()
def on_error(ctx, exception):
    # for now exception in this block will always be "Command not found"
    ctx.reply(f"something went wrong: {exception.__class__.__name__}: {exception}")

bot.run("api key")
```
