Comments (3)
_bot.cogs['MyCog']
is a bit quicker to type. combine that with setting jishaku retain on by default using environment variables and it's not so bad. This also gets into the sticky issue of maintaining that state whenever a cog is reloaded. Potentially that could be solved by passing a custom globals dictionary type to exec
that falls back to looking up bot.cogs
.
from jishaku.
I don't really like having this be done by the repl context preparation because it would mean people who use JISHAKU_NO_UNDERSCORE
would end up having all their cogs in scope randomly, and since I've seen a decent number of people call their cogs things like Fun
and Games
I can forsee scoping issues. It would actually be pretty funny to see people be bitten by this, since it would mean people would stop asking me why I prefix the underscore by default.
A potential compromise might be to just add _cogs
as an automatic variable, but even that might cause scoping issues (I know many people, including myself, who put their cogs into a cogs.whatever
module).
I don't really like the idea of a global fallback dictionary because it means people unfamiliar with the behavior won't know why they have magic ephemeral variables flying around. It's easy to tell that _bot.cogs['Utils'].something()
won't work for you if you don't have such a cog, but _Utils.something()
is more confusing at a glance.
from jishaku.
I think I'm ultimately deciding to not do this one. You can trivially use _bot.get_cog
to get this behavior with not really that much brevity loss, and without the expense of having potentially conflicting or confusing automatic names in scope.
from jishaku.
Related Issues (20)
- ability to add user who can run jishaku on the fly HOT 2
- Button disable
- Add Whois command HOT 2
- Unsupport discord.py v1.7.x HOT 1
- Python 3.9.13 not supported HOT 1
- Proper user configurable jsk py dict vars HOT 1
- change jishaku commands names HOT 1
- Jishaku version occasionally appears as vNone in selftest HOT 4
- Adding asqlite to options for the sql features HOT 3
- Unhandled code branch in `jishaku voice` command.
- Cog already loaded when loading it HOT 1
- I canβt use jishaku shell command HOT 2
- `jishaku timeit` raises an AttributeError upon use. HOT 1
- Tracking: need for a new release
- KeyError on Python version 3.11.0 HOT 3
- AttributeError: 'Context' object has no attribute 'add_reaction' HOT 2
- Question about next possible release to pypi HOT 2
- Convert message links to Message objects in REPLs HOT 1
- [Tracking] import_expression doesn't function correctly in 3.12 HOT 3
- jsk sync command broken on dpy master HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jishaku.