Metadata-Version: 2.1
Name: pychatworkAPI
Version: 1.2.0
Summary: pychatworkAPI is a python package to access chatwork offline.
Home-page: https://github.com/dc-aichara/pyChatwork
Author: Dayal Chand Aichara
Author-email: dc.aichara@gmail.com
License: MIT
Download-URL: https://github.com/dc-aichara/pychatworkAPI/archive/V-1.2.0.tar.gz
Description: # Chatwork API V2 Wrapper
        
        [![](https://img.shields.io/badge/pychatworkAPI-1.2.0-blue)](https://github.com/dc-aichara/pychatworkAPI)
        
        ***
        pychatworkAPI is a python package to access chatwork offline.  It is based on [Chatwork API V2](http://download.chatwork.com/ChatWork_API_Documentation.pdf). 
        
        ***
        ## Installation 
        
        ### PyPI
        ```
        pip install pychatworkAPI
        ```
        ### From Source (Github)
        
        git clone https://github.com/dc-aichara/pychatworkAPI.git
        
        cd pychatworkAPI
        
        python3 setup.py install
        
        ***
        
        ## Usages
        
        ```python
        from pychatworkAPI import Chatwork
        
        chatwork = Chatwork('Your Chatwork API Token')
        ```
        ### Basic usages
        ```python
        
        >>> chatwork.get_me() # get your account information
        {'account_id': xxxxx, 'room_id': 1xxxxxxx, 'name': 'Aichara', 'chatwork_id': '', 'organization_id': xxxxx, 'organization_name': 'ABC Inc.', 
        'department': '', 'title': '', 'url': '', 'intron': '', 'mail': '', 'tel_organization': '', 'tel_extension': '', 'tel_mobile': '', 'skype': '', 'facebook': '', 'twitter': '', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxxx.rsz.jpg', 'login_mail': 'name@gmail.com'}
        
        
        >>> chatwork.get_my_status() # get your status
        {'unread_room_num': 0, 'mention_room_num': 0, 'mytask_room_num': 0, 'unread_num': 0, 'mention_num': 0, 'mytask_num': 0}
        
        
        >>> chatwork.get_my_tasks() # get list of tasks assigned to you
        [{'task_id': 139296044, 'room': {'room_id': 1xxxxx7, 'name': 'Group Name', 'icon_path': 'https://appdata.chatwork.com/icon/ico_xxx.png'},
         'assigned_by_account': {'account_id': xxxxx, 'name': 'Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx/xxxx.rsz.jpg'}, 'message_id': '119629631860408724', 'body': 'Update Server', 'limit_time': 1685996399, 'status': 'open', 'limit_type': 'date'}]
        
        
        >>> chatwork.get_contacts() # get contacts list
        
        
        >>> chatwork.get_rooms() # get chat rooms list
        [{'room_id': 158013311,
          'name': 'pychatworkAPI',
          'type': 'group',
          'role': 'admin',
          'sticky': False,
          'unread_num': 0,
          'mention_num': 0,
          'mytask_num': 0,
          'message_num': 9,
          'file_num': 0,
          'task_num': 0,
          'icon_path': 'https://appdata.chatwork.com/icon/ico_heart.png',
          'last_update_time': 1565660673}
        
        ]
        
        
        # chatwork.send_message(self, room_id, message)
        >>> chatwork.send_message(1987672538, 'test') # send message to a chat
        <Response [200]>
        
        
        # chatwork.send_file(self, room_id, file_path, file_name,  message)
        >>> chatwork.send_file(1987672538,'a.jpg', 'test.jpg', 'test')  # send a file with message to a chat
        <Response [200]>
        
        ````
        
        ### Chat Rooms
        
        - General Room Operations 
        
        ```python
        
        # chatwork.get_rooms_by_id(self, room_id) 
        >>> chatwork.get_rooms_by_id(158013300) # get room details by room id
        {'room_id': 158013311,
         'name': 'pychatworkAPI',
         'type': 'group',
         'role': 'admin',
         'sticky': False,
         'unread_num': 0,
         'mention_num': 0,
         'mytask_num': 0,
         'message_num': 11,
         'file_num': 2,
         'task_num': 0,
         'icon_path': 'https://appdata.chatwork.com/icon/ico_heart.png',
         'description': 'A chat room to test pychatworkworkAPI',
         'last_update_time': 1595486713}
        
        
        # chatwork.get_rooms_members(self, room_id)
        >>> chatwork.get_rooms_members(15xxxx38)  # get room members information
        [{'account_id': 40182676,
          'role': 'admin',
          'name': 'D C',
          'chatwork_id': '',
          'organization_id': 238904,
          'organization_name': '',
          'department': '',
          'avatar_image_url': 'https://appdata.chatwork.com/avatar/ico_default_violet.png'}]
        
        
        # chatwork.create_new_room(self,description, members_member_ids, icon_preset, members_readonly_ids, members_admin_ids, name)
        >>> chatwork.create_new_room('Test', [12, 187, 78],'group',[12, 78],[187] , 'test1') # create a new chat room
        <Response [200]>
        
        # chatwork.change_room_info(self, room_id, description, name, icon_preset)
        >>> chatwork.change_room_info(158013300, 'A chat room to test pychatworkAPI', 'pychatworkAPI', 'test') # Change chat's name, description and icon 
        <Response [200]>
        
        # chatwork.change_rooms_members(self, room_id, members_admin_ids, members_member_ids, members_readonly_ids)
        >>> chatwork.change_rooms_members(158013300, [4018276], [], []) # Change rooms members at once
        <Response [200]>
        
        # chatwork.delete_rooms_by_id(self, room_id, action)
        >>> chatwork.delete_rooms_by_id(1xxxx96, 'leave') # leave or delete a chat room
        <Response [204]>
        
        ```
        
        - Rooms Messages
        
        
        ```python
        
        # chatwork.get_rooms_messages(room_id)
        >>> chatwork.get_rooms_messages(15xxxx38) # get messages of a room
        [{'message_id': '11963102598912', 'account': {'account_id': xxxxx, 'name': 'Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxx.rsz.jpg'}, 
        'body': '[info][title][dtext:chatroom_groupchat_created][/title][dtext:chatroom_chatname_is]test[dtext:chatroom_set]\n\n[dtext:chatroom_member_is][piconname:367][dtext:chatroom_added][/info]', 'send_time': 1561697609, 'update_time': 0}]
        
        >>> chatwork.get_rooms_message_information(room_id, message_id) # get specific message information from a chat room
        
        ```
        
        - Room Tasks
        
        ```python
        
        # chatwork.add_rooms_task(self, room_id, task_name, time_limit, account_ids)
        >>> chatwork.add_rooms_task(15xxx34, 'Update Server1',1685996399,123456)  # assign a task to member of room
        {'task_ids': [139298115]}
        
        # chatwork.get_rooms_tasks(self, room_id)
        >>> chatwork.get_rooms_tasks(158013300) # Get list of the tasks of a chat
        [{'task_id': 141309041, 'account': {'account_id': 40276, 'name': 'Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/ico_default_violet.png'}, 'assigned_by_account': {'account_id': 40276, 'name': 'D C Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/ico_default_violet.png'}, 'message_id': '1203526775385116672', 'body': 'Hello', 'limit_time': 1563422400, 'status': 'open', 'limit_type': 'time'}, {'task_id': 141316537, 'account': {'account_id': 40276, 'name': 'Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/ico_default_violet.png'}, 'assigned_by_account': {'account_id': 40276, 'name': 'Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/ico_default_violet.png'}, 'message_id': '1203536253820076032', 'body': 'test2', 'limit_time': 1563418998, 'status': 'open', 'limit_type': 'date'}]
        
        # chatwork.get_rooms_task_information(self, room_id, task_id)
        >>> chatwork.get_rooms_task_information(1xxxxx7,139296044) # get task information by task id
        {'task_id': 139296044, 'account': {'account_id': 3xxxxxx, 'name': 'Dayal Chand Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx/xxxxx.rsz.jpg'}, 'assigned_by_account': {'account_id': xxxxxx, 'name': 'Dayal Chand Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx/xxxx.rsz.jpg'},
         'message_id': '119629638789764', 'body': 'Update Server', 'limit_time': 1685996399, 'status': 'open', 'limit_type': 'date'}
        
        ```
        - Room files
        
        ```python
        
        # chatwork.get_rooms_files(self, room_id)
        >>> chatwork.get_rooms_files(1543544441325) # get information of files in a chat room
        [{'file_id': 456xx, 'message_id': '11876358888392320', 'filesize': 91571, 'filename': 'abc.png', 'upload_time': 1559627849, 
        'account': {'account_id': xxxx, 'name': 'Dayal Chand Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx.rsz.jpg'}}, {'file_id': 37xxxx, 'message_id': '118763998741469696', 'filesize': 202409, 'filename': '2019-06-03.png', 'upload_time': 1559629010, 'account':
         {'account_id': xxxx, 'name': 'Dayal Chand Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx.rsz.jpg'}}]
        
        # chatwork.get_rooms_file_information(self, room_id, file_id)
        >>> chatwork.get_rooms_file_information(1543544441325,3851450 ) # get details of a file by file id in a chat room
        {'file_id': 3851450, 'message_id': '1193811580355072', 'filesize': 177560, 'filename': 'data.png', 'upload_time': 1561100416, 'account':
         {'account_id': xxxx, 'name': 'Dayal Chand Aichara', 'avatar_image_url': 'https://appdata.chatwork.com/avatar/xxxx.rsz.jpg'}, 
         'download_url': 'https://appdata.chatwork.com/uploadfile/xxxx/xxxxxx/1633a41e6e6f5f0ff95d7299ff5beabf.dat?response-content-type=&response-content-disposition=attachment%3Bfilename%2A%3DUTF-8%27%27price.png&Expires=1561699134&Signature=YzyVHZaO-ZKZDjCQTYpI7JhPd8OSMZaPIMhof25aTZOdCXI-AtkJiXP1KjfcWzAnx1A-hqy08NgdfoCjjpJJlu-IWtuAn3dbrEdbklPR-udQO4i9kFiy-fTF2yUcchbuwg7mpxrYlcobTA4FZ-ojt74gv8up3HOcqJw3EcVh1RTH8rpqYqQXxklpM0-G4aPlyJ3mNqvWOvZhB4ym0daiXXqw8lmm~cAw-ai~BQ7TRgxXj~E5kWuhxJpEiBT61odILnlwSNMVODRnr76UCjljl2OEaFnpPl5fKW3J2lo9Hmq15aK-wf7OfnfIrs~5zKCbfTmetlTL-fOy-kHacC6dCg__&Key-Pair-Id=XXXXXXXXXX'}
        
        
        ```
        ### Handling incoming requests
        
        ```python
        
        >>> chatwork.get_incoming_requests() # get incoming requests to join chat rooms
        
        
        >>> chatwork.approve_incoming_requests(request_id) # approve incoming request by request id
         
        
        >>> chatwork.delete_incoming_requests(request_id) # delete incoming request by request it
        
        
        ```
        
        ***
        ## How to reply or send message to specific person or all group members? 
        
        ```python
        # Reply to specific person in group 
        # chatwork.send_message(room_id, "[Reply aid=person's id] person'name \n" + "message")
        >>> chatwork.send_message(1598363, "[Reply aid=4018276] Dayal \n" + "Sure. Let's do this. ")
        <Response [200]>
        
        # Send message to specific person 
        # chatwork.send_message(room_id, '[to:person's id] person's name \n' + 'message')
        >>> chatwork.send_message(1598363, '[To:4018276] Dayal \n' + "Hey! What's up ?" )
        <Response [200]>
        
        # Send message to all members of a chat
        # chatwork.send_message(room_id, "[toall]\n" + "message")
        
        >>> chatwork.send_message(1598363, "[toall]\n" + "Meeting starts at 11:00 hours.")
        <Response [200]>
        
        # Note: If you don't know recipient's id, then you can just use [To] name and [Reply aid=0] name .
        
        ```
        
        <img src='images/pychatworkapi.png' >
        
        ***
        
        ## Message Decoration in Chatwork
        
        ```python
        # Heading  ---> [title] message [/title]
        
        # Horizontal line ---> [hr]
        
        >>> chatwork.send_message(15983632, "[title] pychatworkAPI [/title][hr]")
        <Response [200]>
        
        # Code Style  ---> [code] message [/code]
        
        >>> chatwork.send_message(15983632, "[code] from pychatworkAPI import Chatwork [/code]")
        <Response [200]>
        
        # Box style ---> [info] message [/info]
        
        >>> chatwork.send_message(15983632, "[info] Check out documentation here: https://pypi.org/project/pychatworkAPI/ [/info]")
        <Response [200]>
        
        ```
        <img src="images/chatwork2.png">
        
        ***
        
        
        ## *Responses*
        
        > <Response [200]> Successful
        
        > <Response [204]> No content 
        
        > <Response [400] > Bad Request
        
        > <Response [401]> Unauthorized
        
        > <Response [403]> Unsuccessful (Check your inputs)
        
        > <Response [429] > Too many requests (Request limit is 300/5 minutes)
        
        ***
        ## License 
        [MIT](https://choosealicense.com/licenses/mit/) © [Dayal Chand Aichara](https://github.com/dc-aichara)
        
        ***
        
        ###  Note: 
        
        1. Read [Chatwork API V2](http://download.chatwork.com/ChatWork_API_Documentation.pdf) documentation to learn more. <br>
        2. Ask your queries in [pychatworkAPI Chatwork](https://www.chatwork.com/g/05qdcee7td8lkt) group. 
        
        
        Check out [Webpage of pychatworkAPI](https://dc-aichara.github.io/pychatworkAPI/). 
Keywords: chatwork,chatwork-api
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
