File: //home/arjun/.local/lib/python3.10/site-packages/tqdm/contrib/__pycache__/discord.cpython-310.pyc
o
���g{ � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z ddlm
Z
dd lmZ d
dlmZ dd
dgiZg d�ZG dd� de�ZG dd� de�Zdd� ZeZ
eZdS )z�
Sends updates to a Discord bot.
Usage:
>>> from tqdm.contrib.discord import tqdm, trange
>>> for i in trange(10, token='{token}', channel_id='{channel_id}'):
... ...

� )�getenv)�warn)�Session)�default_user_agent� )�tqdm)�TqdmWarning)�__version__� )�
MonoWorkerzgithub.com/� casperdcl�
guigoruiz1)� DiscordIO�tqdm_discord�tdranger �trangec sR e Zd ZdZdZde� de� � �Z� fdd�Ze dd� �Z
d d
� Zdd� Z� Z
S )
r z.Non-blocking file-like IO using a Discord Bot.zhttps://discord.com/api/v10ztqdm (https://tqdm.github.io, z) c s2 t � �� || _|| _t� | _| jj| _| j dS )z0Creates a new message in the given `channel_id`.N)
�super�__init__�token�
channel_idr �session� __class__�__name__�text�
message_id)�selfr r �r � �G/home/arjun/.local/lib/python3.10/site-packages/tqdm/contrib/discord.pyr s
zDiscordIO.__init__c
C s� t | d�r| jS z$| jj| j� d| j� d�d| j� �| jd�dd| j� d�id�� � }W n t
yF } zt�t
|�� W Y d }~d S d }~ww |�d �d
krWtdtdd
� d S |d | _| jS )N�_message_id�
/channels/z /messages�Bot ��
Authorizationz
User-Agent�content�`��headers�json�
error_codei� z2Creation rate limit: try increasing `mininterval`.r )�
stacklevel�id)�hasattrr r �post�APIr r �UAr r( � Exception� tqdm_auto�write�str�getr r )r �res�er r r r ( s(
����
�
zDiscordIO.message_idc
C s� |sd}|� dd��� }|| jkrdS | j}|du rdS || _z'| j| jj| j� d| j� d|� �d| j � �| j
d�d d
| j� d
�id�}W |S ty` } zt�
t|�� W Y d}~dS d}~ww )z/Replaces internal `message_id`'s text with `s`.z...�
� Nr �
/messages/r! r"