How to check for user perms (DISCORDIA) - discord

The title speaks for itself, please help, pretty please.

The member class contains hasPermission function. So the code to check if message author has permission would look like this:
if message.member:hasPermission(banMembers) then
-- do action
end
Useful links:
Lua documentation: https://github.com/SinisterRectus/Discordia/wiki/
All permision's enums: https://github.com/SinisterRectus/Discordia/wiki/Enumerations#permission

Related

How can we create test record for "WebStoreNetwork" object in test class?-

I need to create record of WebStoreNetwork in my test class.
SELECT WebStoreId
FROM WebStoreNetwork
WHERE NetworkId = :communityId
WITH SECURITY_ENFORCED
This is the query which is not getting covered in my test class. I am getting value in communityId variable in test class. Facing error "List has no rows to assignment".
Does anyone have any idea? Thanks.
I suggest you post to Salesforce StackExchange.
But a direct answer is that as of Dec-2022 is not possible.
As of the next release, it should be: see Spring'23 release notes.

Ask. How to mention the sender and the person they mentioned (discord py.)

I tried to do it in different ways, but none gave the desired result. I need to use it in an embed.
I am new to this area and have not found any information.
Screenshot translation:
#name spit #name
Try to explain your question a bit more and show code you have tried, you can use {ctx.author.mention} to mention the member that used the command and {member.mention} to mention the member that was # make sure to call the member by useinf member :discord.Member in your async def ( )
Example:
async def hi(ctx, member : discord.Member):
await ctx.send(f"{ctx.author.mention} said hi to {member.mention}")

How do you check in code if a request matches an EPiServer Visitor Group

We've set up a new "visitor group" in EPiServer 6r2, and we want to add a css class to the <body> tag of the site if the user is in that group, so different groups get different site designs. I'm trying to find out if the current visitor is in a matching group in the code-behind of a masterpage file in order to add this extra class and can't get the below code to return anything but false.
I'm not sure if the role name mentioned is the name you enter in the CMS UI when adding a visitor group.
Paul Smith blogged a proposed solution to this but I haven't been able to get it to return anything but false yet, and judging by the only comment on the blog article I'm not alone. Code sample #1 from this link (which is the one I'm using):
using EPiServer.Personalization.VisitorGroups;
...
bool match = EPiServer.Security.PrincipalInfo.CurrentPrincipal
.IsInRole("My Visitor Group", SecurityEntityType.VisitorGroup);
I found the developer guide to membership and role providers which states that replacePrincipal must be set to true for the correct principal to be in place. I checked and this is already the case for my config.
Documentation
EPiServer 7 doc
IPrincipal.IsInRole() extension
SecurityEntityType enum
Oddly I searched the 6r2 documentation from http://sdk.episerver.com/ and can't find the documentation for IPrincipalExtensions at all, even though I see the class in object browser in 6.2. in my sln. Details: Assembly EPiServer.ApplicationModules - C:\Windows\assembly\GAC_MSIL\EPiServer.ApplicationModules\6.2.267.1__8fe83dea738b45b7\EPiServer.ApplicationModules.dll - public static bool IsInRole(this System.Security.Principal.IPrincipal principal, string role, EPiServer.Security.SecurityEntityType type)
Member of EPiServer.Personalization.VisitorGroups.IPrinicipalExtensions
Please comment if you spot errors or I've missed anything as coding for EPiServer is a bit of a fog-of-war affair and I'm a little battle-weary.
Found it by browsing the object model and guessing. So much for documentation.
using EPiServer.Personalization.VisitorGroups;
using EPiServer.Security;
const string visitorGroupName = "Some users";
var groupHelper = new VisitorGroupHelper();
bool isPrincipalInGroup = groupHelper.IsPrincipalInGroup(
PrincipalInfo.CurrentPrincipal, visitorGroupName);
Tested and working in EPiServer 6r2 (aka 6.1).
String visitorGroupName must match the string entered into the "Name" box on the EPiServer admin interface when creating / editing the visitor group. See screenshot below:

How to delete record through query in ndb database(python)?

I am new to Google App Engine. Please bear with me if my questions look stupid to you.
I wanted to delete whole record by query . In this code I am passing access token of record which is one field of my model and delete all records having that access token, but I am getting error "there is no delete() in module". Please give me some solution. Thanks in advance.
class deletehandler(webapp2.RequestHandler):
def get(self):
access_token=self.request.get('access_token')
gprofiles=User.query(User.access_token==access_token)
for g in gprofiles:
ndb.key.delete(g)
self.response.out.write("Profile is deleted")
The delete() method is an instance method. Try this:
for g in gprofiles:
g.key.delete()
self.response.out.write("Profile is deleted")
As documented here
UPDATE:
As Patrick mentions, a batched keys only query is more efficient:
ndb.delete_multi([key for key in gprofiles.iter(keys_only=true)])

How can i achieve dictionary type data access in Chromium embedded CEF1

I would like to achieve dictionary like data pattern that can be accessed from the
java script. Something like this:
pseudo Code:
for all records:
{
rec = //Get the Record
rec["Name"]
rec["Address"]
}
I am trying to achieve with CefV8Accessor, but i am not getting near to the solution.
Kindly provide few links for the reference, as i see the documentation is very less from chromium embedded.
If I understand correctly, you're trying to create a JS "dictionary" object for CEF using C++. If so, here's a code snippet that does that:
CefRefPtr<CefV8Value> GetDictionary(__in const wstring& sName, __in const wstring& sAddress)
{
CefRefPtr<CefV8Value> objectJS = CefV8Value::CreateObject(NULL);
objectJS->SetValue(L"Name", sName, V8_PROPERTY_ATTRIBUTE_NONE);
objectJS->SetValue(L"Address", sAddress, V8_PROPERTY_ATTRIBUTE_NONE);
return objectJS;
}
The CefV8Accessor can also be used for that matter, but that's only if you want specific control over the set & get methods, to create a new type of object.
In that case you should create a class that inherits CefV8Accessor, implement the Set and Get methods (in a similar way to what appears in the code above), and pass it to the CreateObject method. The return value would be an instance of that new type of object.
I strongly suggest to browse through this link, if you haven't already.

Resources