Releases: Pincer-org/Pincer
Pincer 0.4.0 - Middlewares System rewrite
- Dispatcher
- Logging Improved
- HTTP Client
- Client base class
- Basic events Improved
Client base class example:
from pincer.client import Bot
# Note that both `Bot` and `Client` are valid!
bot = Bot("...")
bot.run()
An example on on_ready
event
from time import perf_counter
from pincer.client import Client
client = Client("...")
@client.event
async def on_ready():
print(f"Logged in as {client.bot} after {perf_counter()} seconds")
client.run()
Inherited client
You have the possibility to use your own class to inherit from the pincer bot base.
class Bot(Client):
def __init__(self) -> None:
super(Bot, self).__init__(token='...')
@Client.event
async def on_ready(self) -> None:
...
See an advanced bot implementation:
Advanced Usage
Warning: These features are meant for advanced developers to make early experimentation with Pincer.
Enable the debug mode
If you want to see everything that is happening under the hood,
either for curiosity or the implementation of some features,
we provide a debug logging!
import logging
logging.basicConfig(level=logging.DEBUG)
Note: A lot of printing can happen, with sensitive information,
make sure to be aware or what your doing if your enable it!
middleware
Within the version 0.4.0-dev, middleware system has been re-created,
and now also advanced user to use them. However, it should be used carefully.
An /say command early implementation, using middleware
https://gist.github.com/Arthurdw/e110ebbdafca388722f25ddb79c1dfb8
Pincer 0.3.2 - Event system improvements
- Dispatcher
- Logging Improved
- HTTP Client
- Client base class
- Basic events Improved
Client base class Example:
from pincer.client import Bot
# Note that both `Bot` and `Client` are valid!
bot = Bot("...")
bot.run()
An example on on_ready
event
from time import perf_counter
from pincer.client import Client
client = Client("...")
@client.event
async def on_ready():
print(f"Logged in as {client.bot} after {perf_counter()} seconds")
client.run()
Inherited client
You have the possibility to use your own class to inherit from the pincer bot base.
class Bot(Client):
def __init__(self) -> None:
super(Bot, self).__init__(token='...')
@Client.event
async def on_ready(self) -> None:
...
See an advanced bot implementation:
Pincer - 0.3.1 - Basic Event support (rewrite)
- Dispatcher
- Logging
- HTTP Client
- Client base class
- Basic events Improved
Client base class Example:
from pincer.client import Bot
# Note that both `Bot` and `Client` are valid!
bot = Bot("...")
bot.run()
**An example on on_ready
event
from time import perf_counter
from pincer.client import Client
client = Client("...")
@client.event
async def on_ready():
print(f"Logged in as {client.bot} after {perf_counter()} seconds")
client.run()
Enable the debug mode
If you want to see everything that is happening under the hood,
either for curiosity or the implementation of some features,
we provide a debug logging!
import logging
logging.basicConfig(level=logging.DEBUG)
Note A lot of printing can happen, with sensitive information,
make sure to be aware or what your doing if your enable it!
Pincer - 0.3.0
- Added basic event support
An example on on_ready
event
from time import perf_counter
from pincer.client import Client
client = Client("...")
@client.event
async def on_ready():
print(f"Logged in as {client.bot} after {perf_counter()} seconds")
client.run()
Pincer - 0.2.0 - The Bot class
Note: This is still an early dev version!
- Implemented Bot Base for the client
from pincer.client import Bot
bot = Bot("...")
bot.run()
By default, all payloads with by printed, if you get an unhandled payload Exception please report it to the dev by creating an issue!
Pincer - 0.1.0
Note: This is still an early dev version!
- Added an http client
Example
Adding a reaction to a message
import asyncio
from pincer.core.http import HTTPClient
client = HTTPClient("...")
CHANNEL_ID: int = ...
MESSAGE_ID: int = ...
REACTION: str = ...
# see: https://discord.com/developers/docs/resources/channel#get-channel
async def add_reaction() -> None:
await client.put(
f'channels/{CHANNEL_ID}/messages/{MESSAGE_ID}/reactions/{REACTION}/@me',
{}
)
def main() -> None:
loop = asyncio.get_event_loop()
loop.run_until_complete(add_reaction())
if __name__ == '__main__':
main()
Pincer - 0.0.2
Pincer 0.0.2
Discord API wrapper rebuild from scratch.
Links
Join the discord server: https://discord.gg/8WkYz3fNFm
The pypi package: https://pypi.org/project/Pincer/
Our website: https://pincer.dev
Installation
Use The following command to install Pincer into your python environment:
pip install pincer
Didn't work?
Depending on your python installation, you might need to use one of the following.
pip isn't in the path but python is
python -m pip install pincer
Unix system can use pip3/python3 command
python3 -m pip install pincer
pip3 install pincer
python isn't in the path
path/to/python.exe -m pip install pincer
Using multiple python versions
py -m pip install pincer
License
© 2021 copyright Pincer
This repository is licensed under the MIT License.
See LICENSE for details.
Pincer - 0.0.1
Pincer 0.0.1
Discord API wrapper rebuild from scratch.
Installation
Use The following command to install Pincer into your python environment:
pip install pincer
Didn't work?
Depending on your python installation, you might need to use one of the following.
pip isn't in the path but python is
python -m pip install pincer
Unix system can use pip3/python3 command
python3 -m pip install pincer
pip3 install pincer
python isn't in the path
path/to/python.exe -m pip install pincer
Using multiple python versions
py -m pip install pincer
License
© 2021 copyright Pincer
This repository is licensed under the MIT License.
See LICENSE for details.