typescript-community / community-bot Goto Github PK
View Code? Open in Web Editor NEWThe bot used on the TypeScript Community discord server
License: MIT License
The bot used on the TypeScript Community discord server
License: MIT License
The playground detection checks for the page url, but expects no url parameters, so if you changed the version, it doesn't work. Example - https://www.typescriptlang.org/play?ts=4.0.0-beta#code/
This goes hand in hand with doing this to any url on TS domains with #code, the current setup also wont catch links for the bug workbench.
Walls of text often cause the reader to skip reading the entire thing. We can shorten the text in #how-to-get-help. Some of it is not relevant nor useful to someone who wants to ask a question for the first time. For example, explaining the "Dormant" category is not necessary.
#how-to-get-help's purpose appears to be explaining the system enough for a first-time asker, not to explain every detail of the system in detail. With that goal in mind, the text can be shortened.
Wiki with Content.
No entries.
Goto https://github.com/typescript-community/community-bot/wiki
From andjsrk
Should show deleted messages, messages deleted because of the automod, maybe even member logging for joins/leaves?
When a user joins, send a message in #welcome
Currently all the messages the bot sends are scattered around the code - it'd be nice if there was one centralized file for all the messages so we can make stuff like this less common.
These GitHub meta files should be in a .github folder for the sake of organisation
README, issue template, code of conduct, etc
From T6:
In each #help-*
channel, have a pinned thread containing a digest of help thread activity
A lot of helpers have noted that they miss getting an unread indicator whenever a question got bumped, and feel that questions are consequently going unanswered.
I propose having a thread in each help channel, managed by the bot, that catalogues all active help threads, like the Active Thread list.
Each message would be something like
TypeScript: "geoffrey - class with a constrained recursive type" - 12 messages, 3 helpers joined
Every time a thread is bumped, the bot would delete the previous message for the thread and move it to the bottom, causing the digest thread to be bumped, and making the digest thread sorted by activity.
When a thread is closed, its message is deleted.
This would solve two problems:
The active thread list would still, obviously, be available, for those who prefer it; this is to provide helpers with more options.
Given a code snippet that contains a <
, the twoslash command will print <
in its place.
I believe this is caused by https://github.com/microsoft/TypeScript-Website/blob/v2/packages/ts-twoslasher/src/utils.ts#L1-L3 ultimately.
An example of this behavior can be seen at https://discord.com/channels/508357248330760243/762764001204502649/836933087463866368
From Gerrit0:
Support !title
in the first message of a help post: https://discord.com/channels/508357248330760243/942074070860705852/950568923596746862
command to let you see how much rep you have left to give for the current day. should be easy with some small modifications to the calcCooldown function in the rep command
From T6:
Have ๐๏ธ delete the command that produced the message, to avoid:
[Some snippet I did not copy]
From T6
From T6:
Wait one minute before archiving help channel after !close
https://discord.com/channels/508357248330760243/635484648318697492/955129799729365063
Also, allows helpers to e.g. react ๐ to a "thanks / !close"
Hello TypeScript Community,
I would like to contribute to the development of typescript bot. Please allow me to submit a PR because it's will bring the breaking changes. First, please see https://discord-ts.js.org/ aka discordx on npm is a discord bot framework built on top of discord.js with TypeScript and Decorators.
This will bring bot development up-to-date with Discord features and make the development process easier by increasing the readability of code.
If, this is acceptable, please let me know your review. Thanks
note: Once answered, the issue can be closed
From Chen Sida:
!rep
should work with user IDs like !rep 198637352489320450
. Currently it relies on finding the ping in the message instead of the command argument.
When the bot gets more complex, having commands in separate folders inside the commands folder could greatly help with organisation.
It doesn't really need to be in it's own module as it's only one very simple listener - imo it's much better suited for the etc module.
Docs: Message#cleanContent
, Message#content
Code in question: modules/etc.ts:45
Likely blocked by #91
As a user I expect that when I use the t!pascalify
command that it should convert the given text to PascalCase correctly.
example
User: t!pascalify thisIs my message
Bot: ThisIsMyMessage
The command currently converts text that is already in PascalCase or camelCase incorrectly.
example
User: t!pascalify thisIs my message
Bot: ThisisMyMessage
Please provide detailed steps for reproducing the issue.
t!pascalify thisIs my message
in the chatThisisMyMessage
(note the lowercase i
in is
)No logs available.
From webstrand:
Allow helpers to write
!title #xxx How to make unions with interfaces
into another channel, like #bot-commands
or maybe even #help-typescript
to set titles without bumping/joining a given channel.
When you send a message with poll: x y z
it will react with ๐ ๐ ๐คทโโ
Currently, the server doesn't have any moderation commands. While it's not extremely important, they could help.
moving the autorole from the current autorole bot into this one, then kicking the other one
Because we have links in every record, the page is probably three times longer than before. We need to lower the number of records on each page.
The goal is to reduce confusion. By making all help channels adjacent to each other, the "top" help channel is effectively one of the available ones. As it is today, the "top" channel visually is often the first one within the "Occupied" group, because the "Available" channels are either off-screen or otherwise seem like they are somehow fundamentally different or part of a separate system, due to the confusing sorting of groups.
Graff6: Seriously though, most people come to the server to ask a question. The channel arrangement should reflect that. It's fine for #ts-discussion to be lower down and "buried" because that's a good way to get a better signal-to-noise ratio.
A mockup of how this might look. Note that the mockup also includes an unrelated change to the text within #how-to-get-help. This unrelated change is actually tracked by other Github issues; this github issue is not proposing changes to the text of #how-to-get-help.
orta suggested I capture suggestions as GH issues:
https://discord.com/channels/508357248330760243/635484648318697492/809073483468242954
Currently, if you say "Thanks @UserOne @usertwo", only @UserOne will be repped. There are two solutions I can think of for this:
Should add one to a users reputation when reacting to one of their messages with a specific emoji.
We must use t!rep
- which most newcomers won't know about.
N/A
N/A
M/A
(thanks @orta for this idea)
Similar to what the rust server does, make it so when you join you have to react to a message saying you agreed. Maybe even type out a message.
The PlaygroundModule never removes elements from editedLongLink
... so eventually, the bot's memory footprint will keep increasing as more urls are replaced and we will run out of memory.
Currently, the newly introduced claim command does not send a success message when it completes, like other commands. Something simple like "๐ successfully claimed #help-willow` would be perfect
Reproduction steps:
!help commandNotFound
From smichel17:
Rename the title of playground embeds from Shortened Playground Link
to Playground Link
and add the text, Preview: to the embed above the code block. To try and fix the longstanding issue of people not realizing that the code block is not the full thing, for long playgrounds.
Currently when the bot looks for a user in a message it just looks for a mention. It should be able to resolve IDs, usernames, etc
Create a new channel, #help-general
, where anyone can ask any help questions, and the bot does not affect it in any way. It does not follow a "available" / "occupied" / "dormant" lifecycle. It does not require any code changes in the bot.
Implementation: an administrator create the channel and positions it in the sidebar.
Usage: anyone is free to ask any questions in #help-general. People who want to avoid claiming a help channel for any reason can ask in #help-general. Conversations will naturally overlap in this channel.
The existence of this channel does not affect the existing help channel system.
https://discord.com/channels/508357248330760243/508357683506708514/809951073933852752
Graff6: Rename the "Cooldown" role to "Has help channel". It is easier to explain "You can only have one help channel at once" than "Cooldown means you have an active help channel and cannot open another." In other words, cooldown is an unnecessary abstraction.
https://discord.com/channels/508357248330760243/635484648318697492/809948246477766666
Graff6: The word "cooldown" seems to confuse people โ they often don't realize that it means "has active help channel" and not something more severe.
https://discord.com/channels/508357248330760243/635484648318697492/798274257598808144
cspotcode: The channel name "cooldown" is a bit of a misnomer, since it's not a timer, rather a limit of 1 help channel at a time. As far as I know, it's possible to open and close help channels as fast as possible, as long as you only have 1 at a time
Remove any mention of the topical help channels from the text in #how-to-get-help. If this change is implemented, it will make the description less confusing because it starts with simple, prescriptive instructions to post in an available #help- channel.
Here are a few messages copied from the relevant Discord discussion:
cspotcode: The phrasing in #โ-how-to-get-help is, I think, making people feel like the system is more complicated than it really is. Because instead of saying "post your question in xyz," it opens with "does it fit into this list of channels that you didn't know exist?"
cspotcode: if someone asks a react question, we can be friendly and say "we talk about this stuff a lot in #react, feel free to join us over there"
Graff6: This a million times. On the occasion that one of the topical help channels is more appropriate, it's so much less annoying to direct someone from a tree channel to a topical channel
Relevant discussion and rationale here:
https://discord.com/channels/508357248330760243/635484648318697492/808399962320666634
orta suggested I capture the suggestions as GH issues:
https://discord.com/channels/508357248330760243/635484648318697492/809073483468242954
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.