sopel-dns


Namesopel-dns JSON
Version 0.5.0 PyPI version JSON
download
home_pageNone
SummaryA DNS lookup plugin for Sopel IRC bots
upload_time2024-10-21 04:37:25
maintainerNone
docs_urlNone
authorNone
requires_python<4,>=3.8
licenseEFL-2.0
keywords sopel plugin bot irc
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # sopel-dns

A DNS lookup plugin for Sopel IRC bots

## Installing

Releases are hosted on PyPI, so after installing Sopel, all you need is `pip`:

```shell
$ pip install sopel-dns
```

### Requirements

* Python 3.8+
* Sopel 8.0+
* `dnspython` 2.x


## Usage

Basic usage performs an 'A' record lookup:

```
<user> .dns domain.tld
<bot>  user: 10.10.0.1
```

To look up IPv6 addresses instead, specify the 'AAAA' record type:

```
<user> .dns domain.tld AAAA
<bot>  user: fd12:3456:789a:1::1
```

Other [supported record types](#supported-dns-record-types) output their
results in a similar fashion. Some types, such as `MX` and `TXT`, split the
output across multiple lines to make it easier to read, at the cost of
possible "spam" if there are many records attached to the queried domain.

### Rate limiting

Normal users are rate-limited to one `.dns` command every 2 minutes, both to
control channel flood and to prevent hammering whatever DNS server Sopel's
host system uses to resolve the submitted queries.


## Supported DNS record types

* `A`
* `AAAA`
* `CNAME`
* `MX`
* `NS`
* `PTR`
* `TXT`

If a record type you want isn't listed here, feel free to request it in an
[issue](https://github.com/dgw/sopel-dns/issues/new). Even better: a pull
request enabling that record type, including a demo of the resulting output.

## Changelog

### 0.5.0

Added:
* Rate limit feedback indicating how much time is left in cooldown ([#3][])

Changed:
* Require Sopel 8.0+

Meta:
* Converted to modern package style, `setup.cfg` → `pyproject.toml`
* Automated releases with GitHub Actions + PyPI Trusted Publishing
* Reworked NEWS file to match the README's style of Markdown

[#3]: https://github.com/dgw/sopel-dns/pull/3


### 0.4.0

Now requires Sopel 7.1, but also works on (upcoming) Sopel 8.0.


### 0.3.1

Tightened `dnspython` requirement vs. Sopel's own. This plugin now requires
Python 3.6+ (because that's what `dnspython` 2.x supports).


### 0.3.0

Added `[dns]` output prefix. This also meant changing most of the plugin's
output from replies to normal "say", which is fine. The flood of HLs from
looking up stuff like `MX` or `TXT` records could get annoying.

Rate limit has been reduced from 5 minutes to 2 minutes.


### 0.2.1

Fixed error when a DNS query has no answer (no results).


### 0.2.0

Added support for choosing DNS record type to look up. Currently understands
`A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR` (for IP addresses only), and `TXT`.


### 0.1.0

Initial release with support for querying a domain's `A` records.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sopel-dns",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.8",
    "maintainer_email": null,
    "keywords": "sopel, plugin, bot, irc",
    "author": null,
    "author_email": "dgw <dgw@technobabbl.es>",
    "download_url": "https://files.pythonhosted.org/packages/2a/25/767108be8c21a8d4f70835eb0c0ffd50dab68a24c59d7495887cece1fbee/sopel_dns-0.5.0.tar.gz",
    "platform": "Linux x86, x86-64",
    "description": "# sopel-dns\n\nA DNS lookup plugin for Sopel IRC bots\n\n## Installing\n\nReleases are hosted on PyPI, so after installing Sopel, all you need is `pip`:\n\n```shell\n$ pip install sopel-dns\n```\n\n### Requirements\n\n* Python 3.8+\n* Sopel 8.0+\n* `dnspython` 2.x\n\n\n## Usage\n\nBasic usage performs an 'A' record lookup:\n\n```\n<user> .dns domain.tld\n<bot>  user: 10.10.0.1\n```\n\nTo look up IPv6 addresses instead, specify the 'AAAA' record type:\n\n```\n<user> .dns domain.tld AAAA\n<bot>  user: fd12:3456:789a:1::1\n```\n\nOther [supported record types](#supported-dns-record-types) output their\nresults in a similar fashion. Some types, such as `MX` and `TXT`, split the\noutput across multiple lines to make it easier to read, at the cost of\npossible \"spam\" if there are many records attached to the queried domain.\n\n### Rate limiting\n\nNormal users are rate-limited to one `.dns` command every 2 minutes, both to\ncontrol channel flood and to prevent hammering whatever DNS server Sopel's\nhost system uses to resolve the submitted queries.\n\n\n## Supported DNS record types\n\n* `A`\n* `AAAA`\n* `CNAME`\n* `MX`\n* `NS`\n* `PTR`\n* `TXT`\n\nIf a record type you want isn't listed here, feel free to request it in an\n[issue](https://github.com/dgw/sopel-dns/issues/new). Even better: a pull\nrequest enabling that record type, including a demo of the resulting output.\n\n## Changelog\n\n### 0.5.0\n\nAdded:\n* Rate limit feedback indicating how much time is left in cooldown ([#3][])\n\nChanged:\n* Require Sopel 8.0+\n\nMeta:\n* Converted to modern package style, `setup.cfg` \u2192 `pyproject.toml`\n* Automated releases with GitHub Actions + PyPI Trusted Publishing\n* Reworked NEWS file to match the README's style of Markdown\n\n[#3]: https://github.com/dgw/sopel-dns/pull/3\n\n\n### 0.4.0\n\nNow requires Sopel 7.1, but also works on (upcoming) Sopel 8.0.\n\n\n### 0.3.1\n\nTightened `dnspython` requirement vs. Sopel's own. This plugin now requires\nPython 3.6+ (because that's what `dnspython` 2.x supports).\n\n\n### 0.3.0\n\nAdded `[dns]` output prefix. This also meant changing most of the plugin's\noutput from replies to normal \"say\", which is fine. The flood of HLs from\nlooking up stuff like `MX` or `TXT` records could get annoying.\n\nRate limit has been reduced from 5 minutes to 2 minutes.\n\n\n### 0.2.1\n\nFixed error when a DNS query has no answer (no results).\n\n\n### 0.2.0\n\nAdded support for choosing DNS record type to look up. Currently understands\n`A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR` (for IP addresses only), and `TXT`.\n\n\n### 0.1.0\n\nInitial release with support for querying a domain's `A` records.\n",
    "bugtrack_url": null,
    "license": "EFL-2.0",
    "summary": "A DNS lookup plugin for Sopel IRC bots",
    "version": "0.5.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/dgw/sopel-dns/issues",
        "Homepage": "https://github.com/dgw/sopel-dns"
    },
    "split_keywords": [
        "sopel",
        " plugin",
        " bot",
        " irc"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4f8aad3424e9b257e9f14c93257ab4f5f1260d2c4e3e357e02a2583fcc48498a",
                "md5": "32d09cf9b7aecb7e10f2a41743c073d7",
                "sha256": "abf4b4ed1c05fb1f0ac7cc8c80ef97ae1cb2a50c4ca103c8f0bc929d27879b6b"
            },
            "downloads": -1,
            "filename": "sopel_dns-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "32d09cf9b7aecb7e10f2a41743c073d7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.8",
            "size": 4877,
            "upload_time": "2024-10-21T04:37:24",
            "upload_time_iso_8601": "2024-10-21T04:37:24.351943Z",
            "url": "https://files.pythonhosted.org/packages/4f/8a/ad3424e9b257e9f14c93257ab4f5f1260d2c4e3e357e02a2583fcc48498a/sopel_dns-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a25767108be8c21a8d4f70835eb0c0ffd50dab68a24c59d7495887cece1fbee",
                "md5": "fe84c94c5bb9b07d1dd80f2c5098d24e",
                "sha256": "cd1cd634e9427e6b482f77392643e3af59b14f0874344b48cc9793611b1ef59e"
            },
            "downloads": -1,
            "filename": "sopel_dns-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fe84c94c5bb9b07d1dd80f2c5098d24e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.8",
            "size": 4652,
            "upload_time": "2024-10-21T04:37:25",
            "upload_time_iso_8601": "2024-10-21T04:37:25.178340Z",
            "url": "https://files.pythonhosted.org/packages/2a/25/767108be8c21a8d4f70835eb0c0ffd50dab68a24c59d7495887cece1fbee/sopel_dns-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-21 04:37:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dgw",
    "github_project": "sopel-dns",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "sopel-dns"
}
        
Elapsed time: 3.76689s